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