Re: /fs/ext4/namei.c ext4_find_dest_de()

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

 





On 04/05/2020 02:51, Theodore Y. Ts'o wrote:
On Sun, May 03, 2020 at 02:00:25PM +0100, Jonny Grant wrote:
Hi

I noticed that mkdir() returns EEXIST if a directory already exists.
strerror(EEXIST) text is "File exists"

Can ext4_find_dest_de() be amended to return EISDIR if a directory already
exists? This will make the error message clearer.

No; this will confuse potentially a large number of existing programs.
Also, the current behavior is required by POSIx and the Single Unix
Specification standards.

	https://pubs.opengroup.org/onlinepubs/009695399/

Regards,

						- Ted

Hi,

Is it likely POSIX would introduce this change? It's a shame we're still constrained by old standards (SVr4, BSD), but it's fine if they can be updated.

As developer, I can see it feels more confusing for users as it is. This issue shows up in various programs.

$ mkdir test
$ mkdir test
mkdir: cannot create directory ‘test’: File exists


I would expect it to be clear for users:

$ mkdir test
$ mkdir test
mkdir: cannot create directory ‘test’: Is a directory


The 'mkdir' team don't want to add a call to stat() to give a more appropriate error message.

Cheers, Jonny



[Index of Archives]     [Reiser Filesystem Development]     [Ceph FS]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Linux FS]     [Yosemite National Park]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Device Mapper]     [Linux Media]

  Powered by Linux