On Fri, 2 Feb 2001, Ingo Oeser wrote: > No, so have to unlock it also, if you return -ENOSPC. > > So the correct fix seems to be: > > --- linux/fs/ramfs/inode.c~ Wed Jan 31 22:02:16 2001 > +++ linux/fs/ramfs/inode.c Fri Feb 2 14:51:47 2001 > @@ -174,7 +174,6 @@ > inode->i_blocks += IBLOCKS_PER_PAGE; > rsb->free_pages--; > SetPageDirty(page); > - UnlockPage(page); > } else { > ClearPageUptodate(page); > ret = 0; > @@ -264,6 +263,9 @@ > > - if (! ramfs_alloc_page(inode, page)) > + if (! ramfs_alloc_page(inode, page)) { > + UnlockPage(page); > return -ENOSPC; > + } > + UnlockPage(page); > return 0; > } > > This currently works for me (but using 2.4.0 + dwg-ramfs.patch + this patch) Have you stressed it? (I see leakiness) -Mike - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] Please read the FAQ at http://www.tux.org/lkml/