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
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).
>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).
/*
* 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
Home |
Main Index |
Thread Index |
Old Index