diff options
Diffstat (limited to 'fs')
-rw-r--r-- | fs/ocfs2/xattr.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/fs/ocfs2/xattr.c b/fs/ocfs2/xattr.c index 92df88a41e5d..fb450200bc88 100644 --- a/fs/ocfs2/xattr.c +++ b/fs/ocfs2/xattr.c | |||
@@ -3231,7 +3231,9 @@ static int ocfs2_half_xattr_bucket(struct inode *inode, | |||
3231 | 3231 | ||
3232 | for (i = 0; i < blk_per_bucket; i++) { | 3232 | for (i = 0; i < blk_per_bucket; i++) { |
3233 | ret = ocfs2_journal_access(handle, inode, t_bhs[i], | 3233 | ret = ocfs2_journal_access(handle, inode, t_bhs[i], |
3234 | OCFS2_JOURNAL_ACCESS_CREATE); | 3234 | new_bucket_head ? |
3235 | OCFS2_JOURNAL_ACCESS_CREATE : | ||
3236 | OCFS2_JOURNAL_ACCESS_WRITE); | ||
3235 | if (ret) { | 3237 | if (ret) { |
3236 | mlog_errno(ret); | 3238 | mlog_errno(ret); |
3237 | goto out; | 3239 | goto out; |
@@ -3393,6 +3395,8 @@ static int ocfs2_cp_xattr_bucket(struct inode *inode, | |||
3393 | 3395 | ||
3394 | for (i = 0; i < blk_per_bucket; i++) { | 3396 | for (i = 0; i < blk_per_bucket; i++) { |
3395 | ret = ocfs2_journal_access(handle, inode, t_bhs[i], | 3397 | ret = ocfs2_journal_access(handle, inode, t_bhs[i], |
3398 | t_is_new ? | ||
3399 | OCFS2_JOURNAL_ACCESS_CREATE : | ||
3396 | OCFS2_JOURNAL_ACCESS_WRITE); | 3400 | OCFS2_JOURNAL_ACCESS_WRITE); |
3397 | if (ret) | 3401 | if (ret) |
3398 | goto out; | 3402 | goto out; |