Messages in this thread |  | | Date | Tue, 5 Dec 2000 17:09:50 +0000 | From | "Stephen C. Tweedie" <> | Subject | Re: test12-pre5 |
| |
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/
|  |