Re: unlink(nonexistent): EROFS or ENOENT?

From: Ted Ts'o
Date: Mon Jun 06 2011 - 15:56:08 EST


On Mon, Jun 06, 2011 at 09:13:23PM +0400, Michael Tokarev wrote:
> Thank you for the answer. I thought noone will reply... ;)
>
> >> Just noticed that at least on ext4, unlinking a
> >> non-existing file from a read-only filesystem
> >> results in EROFS instead of ENOENT. I'd expect
> >> it return ENOENT - it is more logical, at least
> >> in my opinion.

> /* The unlinkat from kernels like linux-2.6.32 reports EROFS even for
> nonexistent files. When the file is indeed missing, map that to ENOENT,
> so that rm -f ignores it, as required. Even without -f, this is useful
> because it makes rm print the more precise diagnostic. */

OK, I see what's going on. This check is in the VFS layer, so it
affects all filesystems; it's not an ext4-specific thing.

Patch coming shortly.

- Ted
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/