From: Janneke Nieuwenhuizen <janneke@gnu.org>
To: Baolin Wang <baolin.wang@linux.alibaba.com>
Cc: linux-kernel@vger.kernel.org, linux-mm@kvack.org,
"Hugh Dickins" <hughd@google.com>,
"Ludovic Courtès" <ludo@gnu.org>,
"Rutger van Beusekom" <rutger@reasonable-sourcery.coop>,
linux-fsdevel@vger.kernel.org
Subject: Re: [PATCH] shmem: support xattr gnu.* namespace for the Hurd
Date: Mon, 18 May 2026 08:22:02 +0200 [thread overview]
Message-ID: <87jyt1ck51.fsf@gnu.org> (raw)
In-Reply-To: <d5cd1ce3-db3a-4053-8556-a52982ff4a16@linux.alibaba.com> (Baolin Wang's message of "Mon, 18 May 2026 11:54:03 +0800")
[-- Attachment #1: Type: text/plain, Size: 544 bytes --]
Baolin Wang writes:
Hi Baolin,
> On 5/16/26 3:58 AM, Janneke Nieuwenhuizen wrote:
>> From d8291d06b67db045033664fb440f59001d7755a1 Mon Sep 17 00:00:00 2001
>> From: Janneke Nieuwenhuizen <janneke@gnu.org>
>> Date: Fri, 15 May 2026 10:12:30 +0200
>> Subject: [PATCH] shmem: support xattr gnu.* namespace for the Hurd
[..]
>> to setup a pipe translator, which is being used to create an
>> initial file-system image for the Hurd from GNU Guix[4].
>
> Please add your Singed-off-by tag.
Done; find a new version attached.
Greetings,
Janneke
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-shmem-support-xattr-gnu.-namespace-for-the-Hurd.patch --]
[-- Type: text/x-patch, Size: 2630 bytes --]
From 4ff8927bb044dab11fca9b258e7b9c0b221ac912 Mon Sep 17 00:00:00 2001
From: Janneke Nieuwenhuizen <janneke@gnu.org>
Date: Fri, 15 May 2026 10:12:30 +0200
Subject: [PATCH] shmem: support xattr gnu.* namespace for the Hurd
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]. The Hurd has
now 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
Signed-off-by: Janneke Nieuwenhuizen <janneke@gnu.org>
---
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
[-- Attachment #3: Type: text/plain, Size: 161 bytes --]
--
Reasonable | Free Software for Correctness | GNU Dezyne -- https://dezyne.org
+Sourcery+ | Correctness for Free Software | https://reasonable-sourcery.coop
next prev parent reply other threads:[~2026-05-18 6:22 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
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 [this message]
2026-05-18 6:35 ` Christoph Hellwig
-- strict thread matches above, loose matches on Subject: below --
2026-05-15 19:54 Janneke Nieuwenhuizen
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=87jyt1ck51.fsf@gnu.org \
--to=janneke@gnu.org \
--cc=baolin.wang@linux.alibaba.com \
--cc=hughd@google.com \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-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.