diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2014-02-08 13:13:47 -0500 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2014-02-08 13:13:47 -0500 |
| commit | ec2e6cb24a92a4a1d43119db3e5bf0b4401d9170 (patch) | |
| tree | ed1e2801756fc1b255557c9cd8e972fe37337be9 | |
| parent | 1ccfe6f982674e4b7bd832b904bafcb3db890252 (diff) | |
| parent | c18f7b51200c3c8b76c63e391f9995b65ace9c83 (diff) | |
Merge tag 'jfs-3.14-rc2' of git://github.com/kleikamp/linux-shaggy
Pull jfs fix from David Kleikamp:
"Fix regression"
* tag 'jfs-3.14-rc2' of git://github.com/kleikamp/linux-shaggy:
jfs: fix generic posix ACL regression
| -rw-r--r-- | fs/jfs/xattr.c | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/fs/jfs/xattr.c b/fs/jfs/xattr.c index 3bd5ee45f7b3..46325d5c34fc 100644 --- a/fs/jfs/xattr.c +++ b/fs/jfs/xattr.c | |||
| @@ -854,9 +854,6 @@ int jfs_setxattr(struct dentry *dentry, const char *name, const void *value, | |||
| 854 | int rc; | 854 | int rc; |
| 855 | tid_t tid; | 855 | tid_t tid; |
| 856 | 856 | ||
| 857 | if ((rc = can_set_xattr(inode, name, value, value_len))) | ||
| 858 | return rc; | ||
| 859 | |||
| 860 | /* | 857 | /* |
| 861 | * If this is a request for a synthetic attribute in the system.* | 858 | * If this is a request for a synthetic attribute in the system.* |
| 862 | * namespace use the generic infrastructure to resolve a handler | 859 | * namespace use the generic infrastructure to resolve a handler |
| @@ -865,6 +862,9 @@ int jfs_setxattr(struct dentry *dentry, const char *name, const void *value, | |||
| 865 | if (!strncmp(name, XATTR_SYSTEM_PREFIX, XATTR_SYSTEM_PREFIX_LEN)) | 862 | if (!strncmp(name, XATTR_SYSTEM_PREFIX, XATTR_SYSTEM_PREFIX_LEN)) |
| 866 | return generic_setxattr(dentry, name, value, value_len, flags); | 863 | return generic_setxattr(dentry, name, value, value_len, flags); |
| 867 | 864 | ||
| 865 | if ((rc = can_set_xattr(inode, name, value, value_len))) | ||
| 866 | return rc; | ||
| 867 | |||
| 868 | if (value == NULL) { /* empty EA, do not remove */ | 868 | if (value == NULL) { /* empty EA, do not remove */ |
| 869 | value = ""; | 869 | value = ""; |
| 870 | value_len = 0; | 870 | value_len = 0; |
| @@ -1034,9 +1034,6 @@ int jfs_removexattr(struct dentry *dentry, const char *name) | |||
| 1034 | int rc; | 1034 | int rc; |
| 1035 | tid_t tid; | 1035 | tid_t tid; |
| 1036 | 1036 | ||
| 1037 | if ((rc = can_set_xattr(inode, name, NULL, 0))) | ||
| 1038 | return rc; | ||
| 1039 | |||
| 1040 | /* | 1037 | /* |
| 1041 | * If this is a request for a synthetic attribute in the system.* | 1038 | * If this is a request for a synthetic attribute in the system.* |
| 1042 | * namespace use the generic infrastructure to resolve a handler | 1039 | * namespace use the generic infrastructure to resolve a handler |
| @@ -1045,6 +1042,9 @@ int jfs_removexattr(struct dentry *dentry, const char *name) | |||
| 1045 | if (!strncmp(name, XATTR_SYSTEM_PREFIX, XATTR_SYSTEM_PREFIX_LEN)) | 1042 | if (!strncmp(name, XATTR_SYSTEM_PREFIX, XATTR_SYSTEM_PREFIX_LEN)) |
| 1046 | return generic_removexattr(dentry, name); | 1043 | return generic_removexattr(dentry, name); |
| 1047 | 1044 | ||
| 1045 | if ((rc = can_set_xattr(inode, name, NULL, 0))) | ||
| 1046 | return rc; | ||
| 1047 | |||
| 1048 | tid = txBegin(inode->i_sb, 0); | 1048 | tid = txBegin(inode->i_sb, 0); |
| 1049 | mutex_lock(&ji->commit_mutex); | 1049 | mutex_lock(&ji->commit_mutex); |
| 1050 | rc = __jfs_setxattr(tid, dentry->d_inode, name, NULL, 0, XATTR_REPLACE); | 1050 | rc = __jfs_setxattr(tid, dentry->d_inode, name, NULL, 0, XATTR_REPLACE); |
| @@ -1061,7 +1061,7 @@ int jfs_removexattr(struct dentry *dentry, const char *name) | |||
| 1061 | * attributes are handled directly. | 1061 | * attributes are handled directly. |
| 1062 | */ | 1062 | */ |
| 1063 | const struct xattr_handler *jfs_xattr_handlers[] = { | 1063 | const struct xattr_handler *jfs_xattr_handlers[] = { |
| 1064 | #ifdef JFS_POSIX_ACL | 1064 | #ifdef CONFIG_JFS_POSIX_ACL |
| 1065 | &posix_acl_access_xattr_handler, | 1065 | &posix_acl_access_xattr_handler, |
| 1066 | &posix_acl_default_xattr_handler, | 1066 | &posix_acl_default_xattr_handler, |
| 1067 | #endif | 1067 | #endif |
