[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 5/5] 9pfs: fix removing non-existent POSIX ACL xattr on macOS hos
From: |
Christian Schoenebeck |
Subject: |
[PATCH 5/5] 9pfs: fix removing non-existent POSIX ACL xattr on macOS host |
Date: |
Tue, 19 Apr 2022 13:43:30 +0200 |
When mapped POSIX ACL is used, we are ignoring errors when trying
to remove a POSIX ACL xattr that does not exist. On Linux hosts we
would get ENODATA in such cases, on macOS hosts however we get
ENOATTR instead, so ignore ENOATTR errors as well.
This patch fixes e.g. a command on Linux guest like:
cp --preserve=mode old new
Signed-off-by: Christian Schoenebeck <qemu_oss@crudebyte.com>
---
hw/9pfs/9p-posix-acl.c | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/hw/9pfs/9p-posix-acl.c b/hw/9pfs/9p-posix-acl.c
index eadae270dd..2bf155f941 100644
--- a/hw/9pfs/9p-posix-acl.c
+++ b/hw/9pfs/9p-posix-acl.c
@@ -65,7 +65,13 @@ static int mp_pacl_removexattr(FsContext *ctx,
int ret;
ret = local_removexattr_nofollow(ctx, path, MAP_ACL_ACCESS);
- if (ret == -1 && errno == ENODATA) {
+ if (ret == -1 &&
+ (errno == ENODATA
+#ifdef ENOATTR
+ || errno == ENOATTR
+#endif
+ )
+ ) {
/*
* We don't get ENODATA error when trying to remove a
* posix acl that is not present. So don't throw the error
--
2.32.0 (Apple Git-132)
[PATCH 5/5] 9pfs: fix removing non-existent POSIX ACL xattr on macOS host,
Christian Schoenebeck <=