From: Janneke Nieuwenhuizen <janneke@gnu.org>
To: lindux-kernel@vger.kernel.org, linux-mm@kvack.org,
Hugh Dickins <hughd@google.com>,
Baolin Wang <baolin.wang@linux.alibaba.com>
Cc: "Ludovic Courtès" <ludo@gnu.org>,
"Rutger van Beusekom" <rutger@reasonable-sourcery.coop>
Subject: [PATCH] shmem: support xattr gnu.* namespace for the Hurd
Date: Fri, 15 May 2026 21:54:12 +0200 [thread overview]
Message-ID: <87y0hktpnf.fsf@gnu.org> (raw)
The Hurd gained[0] support for moving the translator and author
fields out of the inode and into the "gnu.*" xattr namespace.
In anticipation of that, an xattr INDEX was reserved[1]. In 2020, the
Hurd has been brought into compliance[2] with that, and so has ext4[3].
This patch adds support for reading and writing such attributes from
a Linux tmpfs; you can now do something like
mkdir -p hurd-root
mount -t tmpfs -o size=2M tmpfs hurd-root
mkdir -p hurd-root/servers/socket
touch hurd-root/servers/socket/1
setfattr --name=gnu.translator --value='"/hurd/pflocal\0"' \
hurd-root/servers/socket/1
getfattr --name=gnu.translator hurd-root/servers/socket/1
# file: 1
gnu.translator="/hurd/pflocal"
to setup a pipe translator, which is being used to create an initial
file-system image for the Hurd from GNU Guix[4].
[0] https://summerofcode.withgoogle.com/projects/#5869799859027968
[1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=3980bd3b406addb327d858aebd19e229ea340b9a
[2] https://git.savannah.gnu.org/cgit/hurd/hurd.git/commit/?id=a04c7bf83172faa7cb080fbe3b6c04a8415ca645
[3] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=88ee9d571b6d8ed345f877e05f685814412e359b
[4] https://codeberg.org/guix/guix/pulls/8632
---
mm/shmem.c | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/mm/shmem.c b/mm/shmem.c
index 3b5dc21b323c..5d60aa4dba92 100644
--- a/mm/shmem.c
+++ b/mm/shmem.c
@@ -15,6 +15,7 @@
* Extended attribute support for tmpfs:
* Copyright (c) 2004, Luke Kenneth Casson Leighton <lkcl@lkcl.net>
* Copyright (c) 2004 Red Hat, Inc., James Morris <jmorris@redhat.com>
+ * Copyright (C) 2026 Janneke Nieuwenhuizen <janneke@gnu.org>
*
* tiny-shmem:
* Copyright (c) 2004, 2008 Matt Mackall <mpm@selenic.com>
@@ -4371,10 +4372,17 @@ static const struct xattr_handler shmem_user_xattr_handler = {
.set = shmem_xattr_handler_set,
};
+static const struct xattr_handler shmem_hurd_xattr_handler = {
+ .prefix = XATTR_HURD_PREFIX,
+ .get = shmem_xattr_handler_get,
+ .set = shmem_xattr_handler_set,
+};
+
static const struct xattr_handler * const shmem_xattr_handlers[] = {
&shmem_security_xattr_handler,
&shmem_trusted_xattr_handler,
&shmem_user_xattr_handler,
+ &shmem_hurd_xattr_handler,
NULL
};
--
2.54.0
--
Reasonable | Free Software for Correctness | GNU Dezyne -- https://dezyne.org
+Sourcery+ | Correctness for Free Software | https://reasonable-sourcery.coop
next reply other threads:[~2026-05-15 19:54 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-05-15 19:54 Janneke Nieuwenhuizen [this message]
-- strict thread matches above, loose matches on Subject: below --
2026-05-15 19:58 [PATCH] shmem: support xattr gnu.* namespace for the Hurd Janneke Nieuwenhuizen
2026-05-18 3:54 ` Baolin Wang
2026-05-18 6:22 ` Janneke Nieuwenhuizen
2026-05-18 6:35 ` Christoph Hellwig
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87y0hktpnf.fsf@gnu.org \
--to=janneke@gnu.org \
--cc=baolin.wang@linux.alibaba.com \
--cc=hughd@google.com \
--cc=lindux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=ludo@gnu.org \
--cc=rutger@reasonable-sourcery.coop \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.