On Wed, May 27, 2020 at 10:25:43PM +0100, Jonny Grant wrote: > > > How about adding an improved mkdir to POSIX and the Linux kernel? Let's call it mkdir2() > > It has one more error, for EISDIR > > [EEXIST] > The named file exists. > > [EISDIR] > Directory with that name exists. It's *really* not worth it. You seem to really care about this; why don't you just keep your own version of shellutils which calls stat(1) if you get EEXIST and to distinguish between these two cases? I know the shellutils maintainers has rejected this. But that's OK, you can have your own copy on your systems. You might want to reflect that if the shellutils maintainer refused to add the stat(1) on the error path, what makes you think they will accept a change to use a non-standard mkdir2() system call? If you want to try to convince Austin Common Standards Revision Group that it's worth it to mandate a whole new system call *just* for a new error code, you're welcome to try. I suspect you will not get a good reception, and even if you did, Linux VFS maintainer may well very well deride the proposal as silly, and refuse to follow the lead of the Austin group. In fact, Al Viro is very likely not to be as politic as I have been. (It's likely the response would have included things like "idiotic idea" and "stupid".) > I'm tempted to suggest this new function mkdir2() returns 0 on success, or > an error number directly number. That would do away with 'errno' for this as > well. This is not going to get a good reception from either Al or the Austin Group, I predict. If you really have strong ideas of what you think an OS and its interfaces should look like, perhaps you should just design your own OS from scratch. Best regards, - Ted