While exercising hfsplus with stress-ng with xattr tests the kernel log was spammed with many error messages. The need to emit these messages is not necessary, so remove them. Also fix the errno returns, for XATTR_CREATE errors these should be -EEXIST, and for XATTR_REPLACE this should be -ENODATA. Kudos to Matthew Wilcox for spotting the need for -EEXIST instead of -EOPNOTSUPP. Signed-off-by: Colin Ian King <colin.i.king@xxxxxxxxx> --- V2: Also remove "cannot replace xattr" message and fix the errno returns --- fs/hfsplus/xattr.c | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/fs/hfsplus/xattr.c b/fs/hfsplus/xattr.c index 9c9ff6b8c6f7..f61a9370a233 100644 --- a/fs/hfsplus/xattr.c +++ b/fs/hfsplus/xattr.c @@ -288,8 +288,7 @@ int __hfsplus_setxattr(struct inode *inode, const char *name, if (!strcmp_xattr_finder_info(name)) { if (flags & XATTR_CREATE) { - pr_err("xattr exists yet\n"); - err = -EOPNOTSUPP; + err = -EEXIST; goto end_setxattr; } hfs_bnode_read(cat_fd.bnode, &entry, cat_fd.entryoffset, @@ -335,8 +334,7 @@ int __hfsplus_setxattr(struct inode *inode, const char *name, if (hfsplus_attr_exists(inode, name)) { if (flags & XATTR_CREATE) { - pr_err("xattr exists yet\n"); - err = -EOPNOTSUPP; + err = -EEXIST; goto end_setxattr; } err = hfsplus_delete_attr(inode, name); @@ -347,8 +345,7 @@ int __hfsplus_setxattr(struct inode *inode, const char *name, goto end_setxattr; } else { if (flags & XATTR_REPLACE) { - pr_err("cannot replace xattr\n"); - err = -EOPNOTSUPP; + err = -ENODATA; goto end_setxattr; } err = hfsplus_create_attr(inode, name, value, size); -- 2.39.2