Commit ec2e6cb2 authored by Linus Torvalds's avatar Linus Torvalds

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
parents 1ccfe6f9 c18f7b51
...@@ -854,9 +854,6 @@ int jfs_setxattr(struct dentry *dentry, const char *name, const void *value, ...@@ -854,9 +854,6 @@ int jfs_setxattr(struct dentry *dentry, const char *name, const void *value,
int rc; int rc;
tid_t tid; tid_t tid;
if ((rc = can_set_xattr(inode, name, value, value_len)))
return rc;
/* /*
* If this is a request for a synthetic attribute in the system.* * If this is a request for a synthetic attribute in the system.*
* namespace use the generic infrastructure to resolve a handler * 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,6 +862,9 @@ int jfs_setxattr(struct dentry *dentry, const char *name, const void *value,
if (!strncmp(name, XATTR_SYSTEM_PREFIX, XATTR_SYSTEM_PREFIX_LEN)) if (!strncmp(name, XATTR_SYSTEM_PREFIX, XATTR_SYSTEM_PREFIX_LEN))
return generic_setxattr(dentry, name, value, value_len, flags); return generic_setxattr(dentry, name, value, value_len, flags);
if ((rc = can_set_xattr(inode, name, value, value_len)))
return rc;
if (value == NULL) { /* empty EA, do not remove */ if (value == NULL) { /* empty EA, do not remove */
value = ""; value = "";
value_len = 0; value_len = 0;
...@@ -1034,9 +1034,6 @@ int jfs_removexattr(struct dentry *dentry, const char *name) ...@@ -1034,9 +1034,6 @@ int jfs_removexattr(struct dentry *dentry, const char *name)
int rc; int rc;
tid_t tid; tid_t tid;
if ((rc = can_set_xattr(inode, name, NULL, 0)))
return rc;
/* /*
* If this is a request for a synthetic attribute in the system.* * If this is a request for a synthetic attribute in the system.*
* namespace use the generic infrastructure to resolve a handler * namespace use the generic infrastructure to resolve a handler
...@@ -1045,6 +1042,9 @@ int jfs_removexattr(struct dentry *dentry, const char *name) ...@@ -1045,6 +1042,9 @@ int jfs_removexattr(struct dentry *dentry, const char *name)
if (!strncmp(name, XATTR_SYSTEM_PREFIX, XATTR_SYSTEM_PREFIX_LEN)) if (!strncmp(name, XATTR_SYSTEM_PREFIX, XATTR_SYSTEM_PREFIX_LEN))
return generic_removexattr(dentry, name); return generic_removexattr(dentry, name);
if ((rc = can_set_xattr(inode, name, NULL, 0)))
return rc;
tid = txBegin(inode->i_sb, 0); tid = txBegin(inode->i_sb, 0);
mutex_lock(&ji->commit_mutex); mutex_lock(&ji->commit_mutex);
rc = __jfs_setxattr(tid, dentry->d_inode, name, NULL, 0, XATTR_REPLACE); 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,7 +1061,7 @@ int jfs_removexattr(struct dentry *dentry, const char *name)
* attributes are handled directly. * attributes are handled directly.
*/ */
const struct xattr_handler *jfs_xattr_handlers[] = { const struct xattr_handler *jfs_xattr_handlers[] = {
#ifdef JFS_POSIX_ACL #ifdef CONFIG_JFS_POSIX_ACL
&posix_acl_access_xattr_handler, &posix_acl_access_xattr_handler,
&posix_acl_default_xattr_handler, &posix_acl_default_xattr_handler,
#endif #endif
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment