Re: Linux 2.4.10-pre11

Chris Mason (mason@suse.com)
Thu, 20 Sep 2001 10:38:05 -0400


On Thursday, September 20, 2001 09:56:22 AM -0400 Alexander Viro <viro@math.psu.edu> wrote:

> Had you actually read the fsync_dev()? Let me make it clear: you are
> flushing _buffer_ cache upon blkdev_put(bdev, BDEV_FILE). It was
> the right thing when file access went through buffer cache. It's
> blatantly wrong with page cache.

Well, fsync_dev will flush anything on the dirty list. Since
blkdev_commit_write puts things on the dirty list, andrea's current
code will flush changes through the page cache.

The biggest exception is blkdev_writepage directly submits the io instead
of marking the buffers dirty. This means the buffers won't be on
the locked/dirty list, and they won't get waited on. Similar problem
for direct io.

The fix shouldn't be too bad, I'll code it up...

-chris

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/