diff options
author | Tao Ma <tao.ma@oracle.com> | 2009-08-26 09:47:28 +0800 |
---|---|---|
committer | Joel Becker <joel.becker@oracle.com> | 2009-09-22 20:09:38 -0700 |
commit | 37f8a2bfaa8364dd3644cccee8824bb8f5e409a5 (patch) | |
tree | ab3083179c621c3e8d0be3980aaed96528f90599 /fs/ocfs2/aops.c | |
parent | 293b2f70b4a16a1ca91efd28ef3d6634262c6887 (diff) | |
download | linux-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.c | 2 |
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; |