Messages in this thread Patches in this message | | | From | Andreas Gruenbacher <> | Subject | [PATCH] Define ENOATTR in 2.5 kernels | Date | Fri, 2 Aug 2002 19:25:13 +0200 |
| |
Hello,
we already have a number of Extended Attribute system calls (*xattr) in the 2.5.x kernel. For implement them on file systems we also need the ENOATTR error. It makes little sense to reuse an existing error number as glibc's strerror() wouldn't be able to create an intelligent text message.
ENOATTR also exists on Irix and AIX. Error messages for ENOATTR should be added to glibc once ENOATTR is defined in the kernel. I have attached a patch against glibc that adds the English error text.
In addition to ENOATTR we also need to clarify the ENOTSUP / EOPNOTSUPP / ENOTSUPP issue, which I have posted yesterday (with no comments so far).
For details concerning the xattr system calls you may find the manual pages interesting, which are available as part of the attr-devel package, and online at <http://acl.bestbits.at/man/man.shtml>.
Regards, Andreas.
------------------------------------------------------------------ Andreas Gruenbacher SuSE Linux AG mailto:agruen@suse.de Deutschherrnstr. 15-19 http://www.suse.de/ D-90429 Nuernberg, Germany
Add the ENOATTR error number ("No such attribute")
The ENOATTR error number is needed by the file system specific code that implements Extended Attributes. This error can occur when trying to retrieve, replace (XATTR_REPLACE flag) or delete an attribute that does not exist.
--- linux-2.5.30/include/linux/errno.h.orig Fri Aug 2 15:17:14 2002 +++ linux-2.5.30/include/linux/errno.h Fri Aug 2 15:17:17 2002 @@ -11,6 +11,9 @@ #define ERESTARTNOHAND 514 /* restart if no handler.. */ #define ENOIOCTLCMD 515 /* No ioctl command */ +/* Extended Attributes */ +#define ENOATTR 516 /* No such attribute */ + /* Defined for the NFSv3 protocol */ #define EBADHANDLE 521 /* Illegal NFS file handle */ #define ENOTSYNC 522 /* Update synchronization mismatch */--- glibc-2.2/sysdeps/gnu/errlist.c.orig Tue Jul 30 10:17:08 2002 +++ glibc-2.2/sysdeps/gnu/errlist.c Tue Jul 30 10:30:04 2002 @@ -607,6 +607,14 @@ TRANS for information on process groups and these signals. */ [ERR_REMAP (EBACKGROUND)] = N_("Inappropriate operation for background process"), #endif +#ifdef ENOATTR +/* +TRANS No such attribute. The named Extended Attribute does not exist, or the +TRANS process does not have permission to access the attribute. This error +TRANS is used by the getxattr, setxattr and removexattr system calls. +TRANS */ + [ERR_REMAP (ENOATTR)] = N_("No such attribute"), +#endif #ifdef EDIED /* TRANS In the GNU system, opening a file returns this error when the file is | |