Re: Linux 2.4.10-pre11

Chris Mason
2001-09-20T14:38:03Z

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