Fix regression
-----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.22 (GNU/Linux) iQIcBAABAgAGBQJS9mGFAAoJEDaohF61QIxkMhMP/0657lE8Wn+thff6kX7mNs1v Ctxc6V2723t2D4xGkIuOrYMqsziRkUeXKZOQTKvRYes95RkA1q3GUvv+xDwP1kVI f6Mqg3TZOiCTm/3z8uJUlYq1q6Hjp8E8QWg3Qs9sFEYPh7WFo2BWiDLjIA2iKkr8 YJx7jiRE2lzWw2DPBSY7cv9IUuJkgaIRMaMI477adU0m/BvmG73waG9NAo0sjmdK RPTC4/j2p8+PooPzXS7dHUkbxbTnqSIGuXEu3XED1Hsj2vqzIbi3zw0cvRuK02D4 LpsKIcyaEG6ApxK7RdZJeauSmpok4s/sPWwJIqn+1X4foQF28AwCZY0HIe1q/W25 +i99soVoX04Uby3l02PKKlHZLAfQo0GTl/3itpG2nV84SB7i2T2Quwi8X7q6iqrK +2r2Ro7upTGmRZqyCTyZX+/rEFLMGCdSVUmPnz+NWISmTTIvaXg82A7eTJtvWdXv TFjPij++s4fJEH8D4RmpgDlCBlCoqrZvl2tR1YWdKyDOpFMcBEuVJ8mNGSadJT8v ekLejc3CVDyLj6xscwFmWXTQEwVOKtoSHBlpFqSIBORJnOcN+59Vb3EKv9IhD/O5 oLdcDuBSPUsOw+PMe5n4xjjr7bMrIuf4PiIWiOPJ8Y1dlOmGZKiEWyS4devZM4KG PyhJKEO/JUw3FLT9Ni3M =QFjr -----END PGP SIGNATURE----- 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
This commit is contained in:
Коммит
ec2e6cb24a
|
@ -854,9 +854,6 @@ int jfs_setxattr(struct dentry *dentry, const char *name, const void *value,
|
|||
int rc;
|
||||
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.*
|
||||
* 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,
|
|||
if (!strncmp(name, XATTR_SYSTEM_PREFIX, XATTR_SYSTEM_PREFIX_LEN))
|
||||
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 */
|
||||
value = "";
|
||||
value_len = 0;
|
||||
|
@ -1034,9 +1034,6 @@ int jfs_removexattr(struct dentry *dentry, const char *name)
|
|||
int rc;
|
||||
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.*
|
||||
* namespace use the generic infrastructure to resolve a handler
|
||||
|
@ -1045,6 +1042,9 @@ int jfs_removexattr(struct dentry *dentry, const char *name)
|
|||
if (!strncmp(name, XATTR_SYSTEM_PREFIX, XATTR_SYSTEM_PREFIX_LEN))
|
||||
return generic_removexattr(dentry, name);
|
||||
|
||||
if ((rc = can_set_xattr(inode, name, NULL, 0)))
|
||||
return rc;
|
||||
|
||||
tid = txBegin(inode->i_sb, 0);
|
||||
mutex_lock(&ji->commit_mutex);
|
||||
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)
|
|||
* attributes are handled directly.
|
||||
*/
|
||||
const struct xattr_handler *jfs_xattr_handlers[] = {
|
||||
#ifdef JFS_POSIX_ACL
|
||||
#ifdef CONFIG_JFS_POSIX_ACL
|
||||
&posix_acl_access_xattr_handler,
|
||||
&posix_acl_default_xattr_handler,
|
||||
#endif
|
||||
|
|
Загрузка…
Ссылка в новой задаче