aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYunchuan Wen <yunchuanwen@ubuntukylin.com>2013-12-26 06:29:27 -0800
committerYan, Zheng <zheng.z.yan@intel.com>2014-04-03 10:33:53 +0800
commit32d3e148ddac0087fdd8499ce4075db20518e122 (patch)
treebb18db6f9ab2332e53886202760851fddc3f0d08
parent020c4bddc030815a767d86ba36ee0563e9855c23 (diff)
ceph: fscache: Update object store limit after file writing
Synchronize object->store_limit[_l] with new inode->i_size after file writing. Tested-by: Milosz Tanski <milosz@adfin.com> Signed-off-by: Yunchuan Wen <yunchuanwen@ubuntukylin.com> Signed-off-by: Min Chen <minchen@ubuntukylin.com> Signed-off-by: Li Wang <liwang@ubuntukylin.com>
-rw-r--r--fs/ceph/file.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/fs/ceph/file.c b/fs/ceph/file.c
index c298a7b8a1c..2862a75fb94 100644
--- a/fs/ceph/file.c
+++ b/fs/ceph/file.c
@@ -970,6 +970,7 @@ retry_snap:
goto retry_snap;
}
} else {
+ loff_t old_size = inode->i_size;
/*
* No need to acquire the i_truncate_mutex. Because
* the MDS revokes Fwb caps before sending truncate
@@ -980,6 +981,8 @@ retry_snap:
written = generic_file_buffered_write(iocb, iov, nr_segs,
pos, &iocb->ki_pos,
count, 0);
+ if (inode->i_size > old_size)
+ ceph_fscache_update_objectsize(inode);
mutex_unlock(&inode->i_mutex);
}