[patch] Allow user.* xattr in tmpfs

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



The lack of user extended attributes is a source of annoyance when
testing something that uses it, such as OpenStack Swift (including
Hummingbird). We used to "monkey-patch" this in Python, so that
tests can run on development systems, but it became desirable
to store correct attributes and existing stubs became impractical.

See:
- my failed attempt to use /var/tmp:
 https://review.openstack.org/328508
- Sam Merritt removing monkey-patching:
 https://review.openstack.org/336323

Signed-off-by: Pete Zaitcev <zaitcev@xxxxxxxxxx>
---

This seems entirely too obvious. I'm getting concerned that we omitted
the user xattr for a reason. Just can't imagine what it might be.

diff --git a/mm/shmem.c b/mm/shmem.c
index 24463b6..4ddec69 100644
--- a/mm/shmem.c
+++ b/mm/shmem.c
@@ -2655,6 +2655,12 @@ static int shmem_xattr_handler_set(const struct xattr_handler *handler,
 	return simple_xattr_set(&info->xattrs, name, value, size, flags);
 }
 
+static const struct xattr_handler shmem_user_xattr_handler = {
+	.prefix = XATTR_USER_PREFIX,
+	.get = shmem_xattr_handler_get,
+	.set = shmem_xattr_handler_set,
+};
+
 static const struct xattr_handler shmem_security_xattr_handler = {
 	.prefix = XATTR_SECURITY_PREFIX,
 	.get = shmem_xattr_handler_get,
@@ -2672,6 +2678,7 @@ static const struct xattr_handler *shmem_xattr_handlers[] = {
 	&posix_acl_access_xattr_handler,
 	&posix_acl_default_xattr_handler,
 #endif
+	&shmem_user_xattr_handler,
 	&shmem_security_xattr_handler,
 	&shmem_trusted_xattr_handler,
 	NULL

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@xxxxxxxxx.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@xxxxxxxxx";> email@xxxxxxxxx </a>



[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]