nfs_wb_all is the only caller of sync_inode which does not set nr_to_write to 0, that is the only one actually using it to write out file data. Now looking at the callers I'm not sure this actually is intended: - nfs_msync_inode does a filemap_fdatawrite before and a filemap_fdatawait after the call to nfs_wb_all, o the data writing happens twice here, although it probably really should be a filemap_write_and_wait before the call to sync_inode - nfs_rename doesn't write data next to it. Then again writing out data here from sync_inode probably isn't intentional either. - nfs_do_fsync already has the data written back from vfs_fsync if called though ->fsync although a data write is needed for the call from ->flush and O_SYNC handling, although the latter should probably be switched to use generic_write_sync - nfs_sync_mapping seems to actually want the data writeback - nfs_setattr already does a filemap_write_and_wait just before the call to nfs_wb_all -- To unsubscribe from this list: send the line "unsubscribe linux-nfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html