Re: test12-pre5

From: Stephen C. Tweedie (sct@redhat.com)
Date: Tue Dec 05 2000 - 12:09:50 EST


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 majordomo@vger.kernel.org
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Thu Dec 07 2000 - 21:00:13 EST