diff options
Diffstat (limited to 'fs/reiserfs/xattr_acl.c')
-rw-r--r-- | fs/reiserfs/xattr_acl.c | 7 |
1 files changed, 1 insertions, 6 deletions
diff --git a/fs/reiserfs/xattr_acl.c b/fs/reiserfs/xattr_acl.c index d63b2c5850c3..d3ce6ee9b262 100644 --- a/fs/reiserfs/xattr_acl.c +++ b/fs/reiserfs/xattr_acl.c | |||
@@ -418,9 +418,7 @@ int reiserfs_cache_default_acl(struct inode *inode) | |||
418 | int ret = 0; | 418 | int ret = 0; |
419 | if (reiserfs_posixacl(inode->i_sb) && !IS_PRIVATE(inode)) { | 419 | if (reiserfs_posixacl(inode->i_sb) && !IS_PRIVATE(inode)) { |
420 | struct posix_acl *acl; | 420 | struct posix_acl *acl; |
421 | reiserfs_read_lock_xattr_i(inode); | ||
422 | acl = reiserfs_get_acl(inode, ACL_TYPE_DEFAULT); | 421 | acl = reiserfs_get_acl(inode, ACL_TYPE_DEFAULT); |
423 | reiserfs_read_unlock_xattr_i(inode); | ||
424 | ret = (acl && !IS_ERR(acl)); | 422 | ret = (acl && !IS_ERR(acl)); |
425 | if (ret) | 423 | if (ret) |
426 | posix_acl_release(acl); | 424 | posix_acl_release(acl); |
@@ -452,11 +450,8 @@ int reiserfs_acl_chmod(struct inode *inode) | |||
452 | if (!clone) | 450 | if (!clone) |
453 | return -ENOMEM; | 451 | return -ENOMEM; |
454 | error = posix_acl_chmod_masq(clone, inode->i_mode); | 452 | error = posix_acl_chmod_masq(clone, inode->i_mode); |
455 | if (!error) { | 453 | if (!error) |
456 | reiserfs_write_lock_xattr_i(inode); | ||
457 | error = reiserfs_set_acl(inode, ACL_TYPE_ACCESS, clone); | 454 | error = reiserfs_set_acl(inode, ACL_TYPE_ACCESS, clone); |
458 | reiserfs_write_unlock_xattr_i(inode); | ||
459 | } | ||
460 | posix_acl_release(clone); | 455 | posix_acl_release(clone); |
461 | return error; | 456 | return error; |
462 | } | 457 | } |