Description
@rustbot label C-discussion
Main tracking issue: #86442
Background
The io_error_more
feature introduced 21 new variants into ErrorKind
. They were FCP'd back in December 2022, but there appeared to be quite a lot of disagreement about 4 of the added variants, so the stabilization (#106375) got stalled for over twenty months. Thankfully, the 17 uncontroversial variants got stabilized in #128316, so now we just need to iron out a satisfactory design for the remaining 4 variants, and then they can be stabilized too.
In order to not block any of the remaining variants on each other and to not intertwine the discussions, I've created 4 separate issues, which summarize the concerns & suggestions voiced up until this point and can serve as a place for further discussion.
FilesystemLoop
: [discussion]ErrorKind::FilesystemLoop
fromio_error_more
#130188FilesystemQuotaExceeded
: you are hereCrossesDevices
: [discussion]ErrorKind::CrossesDevices
fromio_error_more
#130191InvalidFilename
: [discussion]ErrorKind::InvalidFilename
fromio_error_more
#130192
FilesystemQuotaExceeded
Currently corresponds to EDQUOT
on Unix and ERROR_DISK_QUOTA_EXCEEDED
on Windows. (#86442 (comment)). As well as WSAEDQUOT
on Windows (#130206).
Current docs description:
Filesystem quota was exceeded.
Drop "Filesystem" from the name
Can
FilesystemQuotaExceeded
be renamedQuotaExceeded
? AFAIK Linux has no other quota error andEDQUOT
is also used generically (not only for filesystem quotas). A few other uses are visible here: https://elixir.bootlin.com/linux/v4.5/ident/EDQUOT. The comment inerrno.h
simply describes it as "Quota exceeded".
Originally posted by kalcutter in #86442 (comment)
With my libs-api hat on: 👍 for renaming
FilesystemQuotaExceeded
toQuotaExceeded
, as OSes may use it for other kinds of quotas.
Originally posted by Josh Triplett in #106375 (comment)
I am not quite so sure about [keeping "Filesystem" in the name of]
FilesystemQuotaExceeded
but again I think APIs in std won't produce this error other than for filesystem operations.
Originally posted by Ian Jackson in #106375 (comment)
Seemingly a consensus.
Also map WSAEDQUOT
on Windows
WSAEDQUOT
on WindowsDone in #130206.
Old description
There is also the winsock error
WSAEDQUOT
. Shouldn't that be mapped [...] toQuotaExceeded
?
Originally posted by kalcutter in #106375 (comment)
Yes, I think so. I'm not sure why we overlooked that. Generally I would expect that a
WSAE
error should be mapped the same way as the correspondingly namedE
error on Unix. I think I tired to do that. Are there other omissions?
Originally posted by Ian Jackson in #106375 (comment)
A consensus.