>
>
> 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().
-
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/