summaryrefslogtreecommitdiffstats
path: root/fs/ocfs2/aops.c
diff options
context:
space:
mode:
authorTao Ma <tao.ma@oracle.com>2009-08-26 09:47:28 +0800
committerJoel Becker <joel.becker@oracle.com>2009-09-22 20:09:38 -0700
commit37f8a2bfaa8364dd3644cccee8824bb8f5e409a5 (patch)
treeab3083179c621c3e8d0be3980aaed96528f90599 /fs/ocfs2/aops.c
parent293b2f70b4a16a1ca91efd28ef3d6634262c6887 (diff)
downloadlinux-stable-37f8a2bfaa8364dd3644cccee8824bb8f5e409a5.tar.gz
linux-stable-37f8a2bfaa8364dd3644cccee8824bb8f5e409a5.tar.bz2
linux-stable-37f8a2bfaa8364dd3644cccee8824bb8f5e409a5.zip
ocfs2: CoW a reflinked cluster when it is truncated.
When we truncate a file to a specific size which resides in a reflinked cluster, we need to CoW it since ocfs2_zero_range_for_truncate will zero the space after the size(just another type of write). So we add a "max_cpos" in ocfs2_refcount_cow so that it will stop when it hit the max cluster offset. Signed-off-by: Tao Ma <tao.ma@oracle.com>
Diffstat (limited to 'fs/ocfs2/aops.c')
-rw-r--r--fs/ocfs2/aops.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/ocfs2/aops.c b/fs/ocfs2/aops.c
index 9db9d64ca475..33e03c551127 100644
--- a/fs/ocfs2/aops.c
+++ b/fs/ocfs2/aops.c
@@ -1712,7 +1712,7 @@ int ocfs2_write_begin_nolock(struct address_space *mapping,
goto out;
} else if (ret == 1) {
ret = ocfs2_refcount_cow(inode, di_bh,
- wc->w_cpos, wc->w_clen);
+ wc->w_cpos, wc->w_clen, UINT_MAX);
if (ret) {
mlog_errno(ret);
goto out;