diff options
Diffstat (limited to 'fs/ocfs2/acl.c')
-rw-r--r-- | fs/ocfs2/acl.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/fs/ocfs2/acl.c b/fs/ocfs2/acl.c index da702294d7e7..5a2177833210 100644 --- a/fs/ocfs2/acl.c +++ b/fs/ocfs2/acl.c | |||
@@ -344,7 +344,7 @@ int ocfs2_init_acl(handle_t *handle, | |||
344 | { | 344 | { |
345 | struct ocfs2_super *osb = OCFS2_SB(inode->i_sb); | 345 | struct ocfs2_super *osb = OCFS2_SB(inode->i_sb); |
346 | struct posix_acl *acl = NULL; | 346 | struct posix_acl *acl = NULL; |
347 | int ret = 0; | 347 | int ret = 0, ret2; |
348 | mode_t mode; | 348 | mode_t mode; |
349 | 349 | ||
350 | if (!S_ISLNK(inode->i_mode)) { | 350 | if (!S_ISLNK(inode->i_mode)) { |
@@ -381,7 +381,12 @@ int ocfs2_init_acl(handle_t *handle, | |||
381 | mode = inode->i_mode; | 381 | mode = inode->i_mode; |
382 | ret = posix_acl_create_masq(clone, &mode); | 382 | ret = posix_acl_create_masq(clone, &mode); |
383 | if (ret >= 0) { | 383 | if (ret >= 0) { |
384 | ret = ocfs2_acl_set_mode(inode, di_bh, handle, mode); | 384 | ret2 = ocfs2_acl_set_mode(inode, di_bh, handle, mode); |
385 | if (ret2) { | ||
386 | mlog_errno(ret2); | ||
387 | ret = ret2; | ||
388 | goto cleanup; | ||
389 | } | ||
385 | if (ret > 0) { | 390 | if (ret > 0) { |
386 | ret = ocfs2_set_acl(handle, inode, | 391 | ret = ocfs2_set_acl(handle, inode, |
387 | di_bh, ACL_TYPE_ACCESS, | 392 | di_bh, ACL_TYPE_ACCESS, |