tech-toolchain archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: [PATCH] PR standards/44921: Add errno consts for robust mutexes



On Tue, 2020-03-03 at 16:49 +0000, Christos Zoulas wrote:
> In article <b2fecb23889f943f47da9c12a4fe1f74aa998a64.camel%gentoo.org@localhost>,
> Micha�  Górny  <mgorny%gentoo.org@localhost> wrote:
> > -=-=-=-=-=-
> > 
> > On Tue, 2020-03-03 at 13:51 +0100, Joerg Sonnenberger wrote:
> > > On Tue, Mar 03, 2020 at 10:02:27AM +0100, Michał Górny wrote:
> > > > Add the two missing errno.h constants: EOWNERDEAD and ENOTRECOVERABLE.
> > > > While technically they're used for robust mutexes which we do not
> > > > support at the moment, they are listed in POSIX and used by libc++.
> > > > While libc++ can be made to build without it, it just locally redefines
> > > > the values then, so we may as well define them globally.
> > > 
> > > This patch is certainly incompletely, ranging from missing handling in
> > > NFS, dtrace to the libc message catalog...
> > > 
> > 
> > Ok, I've added it to the manpage, libstdc++, rump.  However, could you
> > elaborate on NFS and dtrace?
> > 
> > By dtrace, do you mean external/cddl/osnet/lib/libdtrace/errno.d ?  If
> > so, could you help me understand what I'm supposed to do with that file?
> > It seems that these constants diverge from errno.h so I'm not sure if
> > I'm supposed to use the next free numbers or...
> 
> Fix it :-) The constants are the FreeBSD ones (EDOOFUS).

Ok, I'll make an .awk script to autogenerate it.

> > As for NFS, I haven't been able to grep anything relevant.
> 
> You need to add them to the array, and see if the new errors are appropriate
> for any other RPC-specific returns (I am guessing not).

Thank you, I'll update it.  I wonder if we can catch missing entries
automatically there.

> 
> /*
>  * Maps errno values to nfs error numbers.
>  * Use NFSERR_IO as the catch all for ones not specifically defined in
>  * RFC 1094.
>  */
> static const u_char nfsrv_v2errmap[ELAST] = {
>   NFSERR_PERM,  NFSERR_NOENT,   NFSERR_IO,      NFSERR_IO,      NFSERR_IO,
>   NFSERR_NXIO,  NFSERR_IO,      NFSERR_IO,      NFSERR_IO,      NFSERR_IO,
>   NFSERR_IO,    NFSERR_IO,      NFSERR_ACCES,   NFSERR_IO,      NFSERR_IO,
>   NFSERR_IO,    NFSERR_EXIST,   NFSERR_IO,      NFSERR_NODEV,   NFSERR_NOTDIR,
>   NFSERR_ISDIR, NFSERR_IO,      NFSERR_IO,      NFSERR_IO,      NFSERR_IO,
>   NFSERR_IO,    NFSERR_FBIG,    NFSERR_NOSPC,   NFSERR_IO,      NFSERR_ROFS,
>   NFSERR_IO,    NFSERR_IO,      NFSERR_IO,      NFSERR_IO,      NFSERR_IO,
>   NFSERR_IO,    NFSERR_IO,      NFSERR_IO,      NFSERR_IO,      NFSERR_IO,
>   NFSERR_IO,    NFSERR_IO,      NFSERR_IO,      NFSERR_IO,      NFSERR_IO,
>   NFSERR_IO,    NFSERR_IO,      NFSERR_IO,      NFSERR_IO,      NFSERR_IO,
>   NFSERR_IO,    NFSERR_IO,      NFSERR_IO,      NFSERR_IO,      NFSERR_IO,
>   NFSERR_IO,    NFSERR_IO,      NFSERR_IO,      NFSERR_IO,      NFSERR_IO,
>   NFSERR_IO,    NFSERR_IO,      NFSERR_NAMETOL, NFSERR_IO,      NFSERR_IO,
>   NFSERR_NOTEMPTY, NFSERR_IO,   NFSERR_IO,      NFSERR_DQUOT,   NFSERR_STALE,
>   NFSERR_IO,    NFSERR_IO,      NFSERR_IO,      NFSERR_IO,      NFSERR_IO,
>   NFSERR_IO,    NFSERR_IO,      NFSERR_IO,      NFSERR_IO,      NFSERR_IO,
>   NFSERR_IO,    NFSERR_IO,
> };
> 
> christos
> 

-- 
Best regards,
Michał Górny

Attachment: signature.asc
Description: This is a digitally signed message part



Home | Main Index | Thread Index | Old Index