From: Corinna Vinschen <corinna-cygwin@cygwin.com>
To: cygwin-patches@cygwin.com
Subject: Re: [PATCH] Cygwin: Map ERROR_NO_SUCH_DEVICE and ERROR_MEDIA_CHANGED to ENODEV
Date: Sat, 24 Feb 2024 13:21:28 +0100 [thread overview]
Message-ID: <ZdnfSDqfh1ZCynjH@calimero.vinschen.de> (raw)
In-Reply-To: <04f337bf-7197-b4af-3519-832ad2be5b14@t-online.de>
On Feb 23 19:14, Christian Franke wrote:
> Experiments with damaged USB flash drives and ddrescue revealed that the
> current mapping of these Win32 errors to the fallback EACCES could be
> improved.
>
> BTW: I wonder why EACCES was selected as the fallback. Source code control
> forensics suggest that this was decided in the last millennium. A related
> comment from CGF added August 2000 persists until today :-)
> /* FIXME: what's so special about EACCESS? */
This goes back until 1997 in pre-CVS times. There's a ChangeLog entry
Wed Oct 29 22:43:57 1997 Geoffrey Noer <noer@cygnus.com>
[...]
* syscalls.cc (seterrno): on failure, set EACCES instead of EPERM
which is better for the unknown error case
So the default was EPERM at first and has been changed to EACCES
because it "is better for the unknown error case".
I'm open to ideas for an improved error mapping.
> From 8aa19c7fd13dc3790dc271dede8954539bffcd4d Mon Sep 17 00:00:00 2001
> From: Christian Franke <christian.franke@t-online.de>
> Date: Fri, 23 Feb 2024 19:01:09 +0100
> Subject: [PATCH] Cygwin: Map ERROR_NO_SUCH_DEVICE and ERROR_MEDIA_CHANGED to
> ENODEV
>
> If a removable (USB) device is disconnected after opening its raw
> device, R/W attempts fail with ERROR_NO_SUCH_DEVICE(433). If the
> raw device of a partition is used, ERROR_MEDIA_CHANGED(1110) is
> returned instead. Both are mapped to ENODEV(19) because <errno.h>
> does not offer a value which better matches ERROR_MEDIA_CHANGED.
>
> Signed-off-by: Christian Franke <christian.franke@t-online.de>
> ---
> winsup/cygwin/local_includes/errmap.h | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
Pushed.
Thanks,
Corinna
next prev parent reply other threads:[~2024-02-24 12:21 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-02-23 18:14 Christian Franke
2024-02-24 12:21 ` Corinna Vinschen [this message]
2024-02-25 9:12 ` Christian Franke
2024-02-26 10:27 ` Corinna Vinschen
2024-02-26 11:14 ` Christian Franke
2024-02-26 11:36 ` Corinna Vinschen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=ZdnfSDqfh1ZCynjH@calimero.vinschen.de \
--to=corinna-cygwin@cygwin.com \
--cc=cygwin-patches@cygwin.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).