|
@@ -344,7 +344,7 @@ int ocfs2_init_acl(handle_t *handle,
|
|
|
{
|
|
|
struct ocfs2_super *osb = OCFS2_SB(inode->i_sb);
|
|
|
struct posix_acl *acl = NULL;
|
|
|
- int ret = 0;
|
|
|
+ int ret = 0, ret2;
|
|
|
mode_t mode;
|
|
|
|
|
|
if (!S_ISLNK(inode->i_mode)) {
|
|
@@ -381,7 +381,12 @@ int ocfs2_init_acl(handle_t *handle,
|
|
|
mode = inode->i_mode;
|
|
|
ret = posix_acl_create_masq(clone, &mode);
|
|
|
if (ret >= 0) {
|
|
|
- ret = ocfs2_acl_set_mode(inode, di_bh, handle, mode);
|
|
|
+ ret2 = ocfs2_acl_set_mode(inode, di_bh, handle, mode);
|
|
|
+ if (ret2) {
|
|
|
+ mlog_errno(ret2);
|
|
|
+ ret = ret2;
|
|
|
+ goto cleanup;
|
|
|
+ }
|
|
|
if (ret > 0) {
|
|
|
ret = ocfs2_set_acl(handle, inode,
|
|
|
di_bh, ACL_TYPE_ACCESS,
|