diff options
| author | 2012-11-05 11:07:23 -0800 | |
|---|---|---|
| committer | 2012-11-05 11:07:23 -0800 | |
| commit | 22cddde104d715600a4c218bf9224923208afe90 (patch) | |
| tree | 82fc93d9c89ef41145e52ace63484047e600f866 /include | |
| parent | ceph: Hold caps_list_lock when adjusting caps_{use, total}_count (diff) | |
| download | linux-dev-22cddde104d715600a4c218bf9224923208afe90.tar.xz linux-dev-22cddde104d715600a4c218bf9224923208afe90.zip | |
ceph: Fix i_size update race
ceph_aio_write() has an optimization that marks cap EPH_CAP_FILE_WR
dirty before data is copied to page cache and inode size is updated.
If ceph_check_caps() flushes the dirty cap before the inode size is
updated, MDS can miss the new inode size. The fix is move
ceph_{get,put}_cap_refs() into ceph_write_{begin,end}() and call
__ceph_mark_dirty_caps() after inode size is updated.
Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
Signed-off-by: Sage Weil <sage@inktank.com>
Diffstat (limited to 'include')
0 files changed, 0 insertions, 0 deletions
