Samuel Thibault writes: Hello Samuel,
> Did you have a look at Shengyu Zhang's work on xattr? That's about > summer 2016. Ah, that's a helpful pointer. What I notice is that Shengyu's last message says "not merged yet", to which Richard Braun responds https://lists.gnu.org/archive/html/bug-hurd/2016-08/msg00095.html "we'll have more time in September to really dive into the code, finish the review and merge it." It got merged, but I'm not sure about the "finish" bit; Justus Winter disabled it by default (not a great sign), and GSoC 2017 mentions: "finishing the xattr work" https://lists.gnu.org/archive/html/bug-hurd/2017-01/msg00016.html I cannot find any more meta data, documentation or tests... > Also see glibc/sysdeps/mach/hurd/setxattr.c which > translates gnu attributes into RPC calls, and then again in the > translators's diskfs_set_translator. See for instance in > hurd/ext2fs/inode.c's diskfs_set_translator, it looks at > > if (EXT2_HAS_COMPAT_FEATURE (sblock, EXT2_FEATURE_COMPAT_EXT_ATTR) > && use_xattr_translator_records) I noticed the --x-xattr-translator-records before but after reading some more code, I got a little bit further glibc/hurd/xattr.c has gnu.translator empty if no passive translator translator and arguments: "/hurd/foo\0arg1\0arg2\0" ah...so there's a nice hack (way??) to also pass arguments...and then hurd/libdiskfs/file-set-trans.c has diskfs_S_file_set_translator (struct protid *cred, [...] if (passivelen && passive[passivelen - 1]) return EINVAL; hmm; so even when there are no arguments, VALUE must end with 0?! Okay... --8<---------------cut here---------------start------------->8--- root@debian:~# touch 1 root@debian:~# setfattr --name=gnu.translator --value=/hurd/pflocal 1 setfattr: 1: Invalid argument root@debian:~# setfattr --name=gnu.translator --value='/hurd/pflocal\0' 1 root@debian:~# showtrans 1 /hurd/pflocal --8<---------------cut here---------------end--------------->8--- ...so "something" works. Sadly, this trick does not work on GNU/Linux. I'm afraid this hasn't been upstreamed and we would have to debug linux and/or create a patch for setxattr to accept "gnu." on "Hurd" type file systems. Thoughts? Also, some other things also don't work --8<---------------cut here---------------start------------->8--- root@debian:~# getfattr --name=gnu.translator 1 1: gnu.translator: Operation not supported root@debian:~# setfattr --name=gnu.translator --value='/geert/pflocal\0' 1 setfattr: 1: Operation not supported root@debian:~# setfattr --remove=gnu.translator 1 setfattr: 1: Operation not supported --8<---------------cut here---------------end--------------->8--- Greetings, janneke -- Jan Nieuwenhuizen <jann...@gnu.org> | GNU LilyPond http://lilypond.org Freelance IT http://JoyofSource.com | AvatarĀ® http://AvatarAcademy.com