Re: Linux 2.4.10-pre11

Alexander Viro
2001-09-20T13:56:27Z

On Thu, 20 Sep 2001, Andrea Arcangeli wrote:

> > Umm... Not doing unnecessary work? Semantics of releasing a block device
> > depends on the kind of use. BTW, I'm less than sure that fsync_dev() is
> > the right thing for file access now that you've got that in pagecache -
> > __block_fsync() seems to be more correct thing to do.
>
> Not really, blkdev isn't a filesystem. It will never have a superblock
> and its own inodes and we also need to filemap_fdatasync/wait the
> physical address space.

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.