diff options
Diffstat (limited to 'fs/reiserfs')
-rw-r--r-- | fs/reiserfs/inode.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/fs/reiserfs/inode.c b/fs/reiserfs/inode.c index 2b8dc5c22867..46ba1cfc2df3 100644 --- a/fs/reiserfs/inode.c +++ b/fs/reiserfs/inode.c | |||
@@ -3084,6 +3084,10 @@ int reiserfs_setattr(struct dentry *dentry, struct iattr *attr) | |||
3084 | int depth; | 3084 | int depth; |
3085 | int error; | 3085 | int error; |
3086 | 3086 | ||
3087 | error = inode_change_ok(inode, attr); | ||
3088 | if (error) | ||
3089 | return error; | ||
3090 | |||
3087 | /* must be turned off for recursive notify_change calls */ | 3091 | /* must be turned off for recursive notify_change calls */ |
3088 | ia_valid = attr->ia_valid &= ~(ATTR_KILL_SUID|ATTR_KILL_SGID); | 3092 | ia_valid = attr->ia_valid &= ~(ATTR_KILL_SUID|ATTR_KILL_SGID); |
3089 | 3093 | ||
@@ -3133,10 +3137,6 @@ int reiserfs_setattr(struct dentry *dentry, struct iattr *attr) | |||
3133 | goto out; | 3137 | goto out; |
3134 | } | 3138 | } |
3135 | 3139 | ||
3136 | error = inode_change_ok(inode, attr); | ||
3137 | if (error) | ||
3138 | goto out; | ||
3139 | |||
3140 | if ((ia_valid & ATTR_UID && attr->ia_uid != inode->i_uid) || | 3140 | if ((ia_valid & ATTR_UID && attr->ia_uid != inode->i_uid) || |
3141 | (ia_valid & ATTR_GID && attr->ia_gid != inode->i_gid)) { | 3141 | (ia_valid & ATTR_GID && attr->ia_gid != inode->i_gid)) { |
3142 | struct reiserfs_transaction_handle th; | 3142 | struct reiserfs_transaction_handle th; |