diff options
author | Mark Brown <broonie@linaro.org> | 2013-07-22 11:16:31 +0100 |
---|---|---|
committer | Mark Brown <broonie@linaro.org> | 2013-07-22 11:16:31 +0100 |
commit | c04ee7fcbfba1471af90cf6407370efc779c1243 (patch) | |
tree | c0c37c40beb8bd197b7f424a67f12487960c4882 /fs/ocfs2 | |
parent | e0749524b57019f480ad6c581431589d053e0cb0 (diff) | |
parent | 0f4a56e16d5fc9028b62ba529177a3109513e111 (diff) |
Merge tag 'v3.10.2' into linux-linaro-lsklsk
This is the 3.10.2 stable release
Diffstat (limited to 'fs/ocfs2')
-rw-r--r-- | fs/ocfs2/xattr.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/fs/ocfs2/xattr.c b/fs/ocfs2/xattr.c index 2e3ea308c14..5b8d9443610 100644 --- a/fs/ocfs2/xattr.c +++ b/fs/ocfs2/xattr.c @@ -6499,6 +6499,16 @@ static int ocfs2_reflink_xattr_inline(struct ocfs2_xattr_reflink *args) } new_oi = OCFS2_I(args->new_inode); + /* + * Adjust extent record count to reserve space for extended attribute. + * Inline data count had been adjusted in ocfs2_duplicate_inline_data(). + */ + if (!(new_oi->ip_dyn_features & OCFS2_INLINE_DATA_FL) && + !(ocfs2_inode_is_fast_symlink(args->new_inode))) { + struct ocfs2_extent_list *el = &new_di->id2.i_list; + le16_add_cpu(&el->l_count, -(inline_size / + sizeof(struct ocfs2_extent_rec))); + } spin_lock(&new_oi->ip_lock); new_oi->ip_dyn_features |= OCFS2_HAS_XATTR_FL | OCFS2_INLINE_XATTR_FL; new_di->i_dyn_features = cpu_to_le16(new_oi->ip_dyn_features); |