Re: Linux 2.4.10-pre11

Alexander Viro
2001-09-20T14:50:16Z

On Thu, 20 Sep 2001, Chris Mason wrote:

>
>
> 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.

<nod> And if you add Andrea's (perfectly valid) observation re having no
need to sync any fs structures we might have for that device, you get
__block_fsync(). After that it's easy to merge blkdev_close() code into
blkdev_put().