summaryrefslogtreecommitdiff
path: root/fs/btrfs/acl.c
diff options
context:
space:
mode:
authorOtavio Salvador <otavio@ossystems.com.br>2018-06-08 10:09:28 -0300
committerGitHub <noreply@github.com>2018-06-08 10:09:28 -0300
commit5b5a04065fb5487303869fd6080c30f86530005d (patch)
treed1442504baf73be22d9e6bc1864206df5ccedfeb /fs/btrfs/acl.c
parent0e674a64b86e2bb00ab43f56104d3ea85dda0066 (diff)
parent8d99753ad93af6bcaf798232eeb15e60bdd7e94b (diff)
Merge pull request #25 from MaxKrummenacher/4.9-1.0.x-imx-stable-merge
4.9 1.0.x imx stable merge
Diffstat (limited to 'fs/btrfs/acl.c')
-rw-r--r--fs/btrfs/acl.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/fs/btrfs/acl.c b/fs/btrfs/acl.c
index 8d8370ddb6b2..1ba49ebe67da 100644
--- a/fs/btrfs/acl.c
+++ b/fs/btrfs/acl.c
@@ -114,13 +114,17 @@ out:
int btrfs_set_acl(struct inode *inode, struct posix_acl *acl, int type)
{
int ret;
+ umode_t old_mode = inode->i_mode;
if (type == ACL_TYPE_ACCESS && acl) {
ret = posix_acl_update_mode(inode, &inode->i_mode, &acl);
if (ret)
return ret;
}
- return __btrfs_set_acl(NULL, inode, acl, type);
+ ret = __btrfs_set_acl(NULL, inode, acl, type);
+ if (ret)
+ inode->i_mode = old_mode;
+ return ret;
}
/*