s390/s390-64 missing xattr exports
Andreas Gruenbacher
agruen@suse.de
Mon Aug 19 02:21:00 GMT 2002
On Monday 19 August 2002 10:21, Andreas Jaeger wrote:
> Roland McGrath <roland@frob.com> writes:
> >> Roland, what is your decision? I'd like to know whether I should
> >> [AG: add ?] the calls to s390-64 or whether we make this generic.
> >
> > Is there any documentation on these calls?
>
> Andreas has some on the ACL page.
The manual pages are found at <http://acl.bestbits.at/man/man.shtml>, or
alternatively in the XFS CVS repository at
<http://oss.sgi.com/projects/xfs/>.
> Andreas, can you send the list here, please?
This is the status of the xattr syscalls in 2.4.19 / 2.5.30 kernels.
Arch Reserved Glibc
---- -------- -----
alpha yes (*)
arm yes (*)
i386 yes (*)
cris no
hppa no
i386 yes (*)
ia64 yes (*)
m68k yes (*)
mips 2.4 only (2)
mips64 2.4 only (1,2)
ppc yes (*)
ppc64 yes (1)
s390 yes (*)
s390x yes (1)
sh no
sparc yes (*)
sparc64 yes (*)
x86_64 yes (*)
(*) Versions file updated and accepted into glibc (AFAIK).
(1) Is the 32-bit Versions file used for those as well? I couldn't
find a 64-bit Versions file.
(2) The mips syscalls are reserved in 2.4, but not in
2.5. We might have to exclude mips for now.
A set of patches that defines the syscall entry points is found at
<http://www.suse.de/~agruen/acl/patches/>.
> > Is there a proper header file to declare them?
>
> Christoph send me the following version of a header
We have this in the current header:
> #include <errno.h>
> #ifndef ENOATTR
> # define ENOATTR ENODATA /* No such attribute */
> #endif
Arguably this is the wrong place; ENOATTR should be defined in <errno.h>. I
would prefer a separate error number instead of reusing ENODATA, but several
people have been running against walls, and we failed to get ENOATTR accepted
in the kernel. (There was no feedback at all.)
> , it might go into <sys/xattr.h>.
> Andreas, or what was the proper place for this one?
We were so far using <attr/xattr.h>; that's also what the man pages document.
I'm not sure if moving it to <sys/xattr.h> is a good idea:
(-) it's not a POSIX/etc. standard header, and not portable in any way. We
might get name clashes later.
(-) it breaks existing sources. The number of utilities using it is still
reasonably small, though.
(+) if we move it, we won't run into conflicts with the attr-devel package.
(+) the Irix EA header is <sys/attributes.h>, so it's "closer" to Irix.
So what should be done?
> /* Copyright (C) 2002 Free Software Foundation, Inc.
>
> [...]
>
> /* Set the attribute NAME of the file pointed to by PATH to VALUE (which
> is LEN bytes long). Return 0 on success, -1 for errors. */
^^^ should be SIZE throughout the header file.
> extern int setxattr (const char *__path, const char *__name,
> const void *__value, size_t __size, int __flags)
> __THROW;
More information about the Libc-alpha
mailing list