|
@@ -472,7 +472,9 @@ int reiserfs_acl_chmod(struct inode *inode)
|
|
|
struct reiserfs_transaction_handle th;
|
|
|
size_t size = reiserfs_xattr_nblocks(inode,
|
|
|
reiserfs_acl_size(clone->a_count));
|
|
|
- reiserfs_write_lock(inode->i_sb);
|
|
|
+ int depth;
|
|
|
+
|
|
|
+ depth = reiserfs_write_lock_once(inode->i_sb);
|
|
|
error = journal_begin(&th, inode->i_sb, size * 2);
|
|
|
if (!error) {
|
|
|
int error2;
|
|
@@ -482,7 +484,7 @@ int reiserfs_acl_chmod(struct inode *inode)
|
|
|
if (error2)
|
|
|
error = error2;
|
|
|
}
|
|
|
- reiserfs_write_unlock(inode->i_sb);
|
|
|
+ reiserfs_write_unlock_once(inode->i_sb, depth);
|
|
|
}
|
|
|
posix_acl_release(clone);
|
|
|
return error;
|