Commit 37e92d4f authored by Dave Chinner's avatar Dave Chinner Committed by Long Li
Browse files

xfs: rename xfs_has_attr()

mainline inclusion
from mainline-v5.14-rc4
commit 51b495eb
category: bugfix
bugzilla: https://gitee.com/openeuler/kernel/issues/I4KIAO
CVE: NA

Reference: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=51b495eba84dee8c1df4abfc26fc134ea190e28f



--------------------------------

xfs_has_attr() is poorly named. It has global scope as it is defined
in a header file, but it has no namespace scope that tells us what
it is checking has attributes. It's not even clear what "has_attr"
means, because what it is actually doing is an attribute fork lookup
to see if the attribute exists.

Upcoming patches use this "xfs_has_<foo>" namespace for global
filesystem features, which conflicts with this function.

Rename xfs_has_attr() to xfs_attr_lookup() and make it a static
function, freeing up the "xfs_has_" namespace for global scope
usage.

Signed-off-by: default avatarDave Chinner <dchinner@redhat.com>
Reviewed-by: default avatarDarrick J. Wong <djwong@kernel.org>
Signed-off-by: default avatarDarrick J. Wong <djwong@kernel.org>
Signed-off-by: default avatarLong Li <leo.lilong@huawei.com>
parent 325f4fd8
Loading
Loading
Loading
Loading
+3 −4
Original line number Diff line number Diff line
@@ -332,8 +332,8 @@ xfs_attr_set_args(
/*
 * Return EEXIST if attr is found, or ENOATTR if not
 */
int
xfs_has_attr(
static int
xfs_attr_lookup(
	struct xfs_da_args	*args)
{
	struct xfs_inode	*dp = args->dp;
@@ -470,8 +470,8 @@ xfs_attr_set(
			goto out_trans_cancel;
	}

	error = xfs_attr_lookup(args);
	if (args->value) {
		error = xfs_has_attr(args);
		if (error == -EEXIST && (args->attr_flags & XATTR_CREATE))
			goto out_trans_cancel;
		if (error == -ENOATTR && (args->attr_flags & XATTR_REPLACE))
@@ -486,7 +486,6 @@ xfs_attr_set(
		if (!args->trans)
			goto out_unlock;
	} else {
		error = xfs_has_attr(args);
		if (error != -EEXIST)
			goto out_trans_cancel;

+0 −1
Original line number Diff line number Diff line
@@ -89,7 +89,6 @@ int xfs_attr_get_ilocked(struct xfs_da_args *args);
int xfs_attr_get(struct xfs_da_args *args);
int xfs_attr_set(struct xfs_da_args *args);
int xfs_attr_set_args(struct xfs_da_args *args);
int xfs_has_attr(struct xfs_da_args *args);
int xfs_attr_remove_args(struct xfs_da_args *args);
bool xfs_attr_namecheck(const void *name, size_t length);