This is the mail archive of the libc-alpha@sources.redhat.com mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: s390/s390-64 missing xattr exports


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;


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]