浏览代码

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>
Yunchuan Wen 12 年之前
父节点
当前提交
32d3e148dd
共有 1 个文件被更改,包括 3 次插入0 次删除
  1. 3 0
      fs/ceph/file.c

+ 3 - 0
fs/ceph/file.c

@@ -970,6 +970,7 @@ retry_snap:
 			goto retry_snap;
 			goto retry_snap;
 		}
 		}
 	} else {
 	} else {
+		loff_t old_size = inode->i_size;
 		/*
 		/*
 		 * No need to acquire the i_truncate_mutex. Because
 		 * No need to acquire the i_truncate_mutex. Because
 		 * the MDS revokes Fwb caps before sending truncate
 		 * the MDS revokes Fwb caps before sending truncate
@@ -980,6 +981,8 @@ retry_snap:
 		written = generic_file_buffered_write(iocb, iov, nr_segs,
 		written = generic_file_buffered_write(iocb, iov, nr_segs,
 						      pos, &iocb->ki_pos,
 						      pos, &iocb->ki_pos,
 						      count, 0);
 						      count, 0);
+		if (inode->i_size > old_size)
+			ceph_fscache_update_objectsize(inode);
 		mutex_unlock(&inode->i_mutex);
 		mutex_unlock(&inode->i_mutex);
 	}
 	}