Messages in this thread |  | | Date | Thu, 20 Sep 2001 10:50:16 -0400 (EDT) | From | Alexander Viro <> | Subject | Re: Linux 2.4.10-pre11 |
| |
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().
- 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/
|  |