On 04/22/2016 07:43 AM, Andreas Gruenbacher wrote: > Instead of stripping "os2." prefixes in __jfs_setxattr, make callers > strip them, as __jfs_getxattr already does. With that change, use the > same name mapping function in jfs_{get,set,remove}xattr. > > Signed-off-by: Andreas Gruenbacher <agruenba@xxxxxxxxxx> > --- > fs/jfs/xattr.c | 80 ++++++++++++++++++---------------------------------------- > 1 file changed, 25 insertions(+), 55 deletions(-) > > diff --git a/fs/jfs/xattr.c b/fs/jfs/xattr.c > index 5becc6a..9cdf7dc 100644 > --- a/fs/jfs/xattr.c > +++ b/fs/jfs/xattr.c --- cut --- > @@ -946,18 +926,8 @@ ssize_t jfs_getxattr(struct dentry *dentry, struct inode *inode, > if (!strncmp(name, XATTR_SYSTEM_PREFIX, XATTR_SYSTEM_PREFIX_LEN)) > return generic_getxattr(dentry, inode, name, data, buf_size); Am I missing a prerequisite patch? This patch doesn't apply because generic_getxattr() doesn't have an inode parameter. > > - if (strncmp(name, XATTR_OS2_PREFIX, XATTR_OS2_PREFIX_LEN) == 0) { > - /* > - * skip past "os2." prefix > - */ > - name += XATTR_OS2_PREFIX_LEN; > - /* > - * Don't allow retrieving properly prefixed attributes > - * by prepending them with "os2." > - */ > - if (is_known_namespace(name)) > - return -EOPNOTSUPP; > - } > + if (!map_name_to_disk(&name)) > + return -EOPNOTSUPP; > > err = __jfs_getxattr(inode, name, data, buf_size); > > @@ -1042,8 +1012,8 @@ 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; > + if (!map_name_to_disk(&name)) > + return -EOPNOTSUPP; > > tid = txBegin(inode->i_sb, 0); > mutex_lock(&ji->commit_mutex); > -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html