Hi,

On Mon, Dec 04, 2000 at 08:00:03PM -0800, Linus Torvalds wrote:
> 
> On Mon, 4 Dec 2000, Alexander Viro wrote:
> > 
> This _is_ what clear_inode() does in pre5 (and in pre4, for that matter):
> 
>       void clear_inode(struct inode *inode)
>       {  
>               if (!list_empty(&inode->i_dirty_buffers))
>                       invalidate_inode_buffers(inode);

That is still buggy.  We MUST NOT invalidate the inode buffers unless
i_nlink == 0, because otherwise a subsequent open() and fsync() will
have forgotten what buffers are dirty, and hence will fail to
synchronise properly with the disk.

Al, I agreed with your observation on bforget() needing the
remove_inode_queue() call.  Is there anywhere else we need it?

--Stephen
-
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/

Reply via email to