Paul Eggert <[email protected]> writes:

> On 2026-07-22 15:56, Pádraig Brady wrote:
>
>> Note ENOTDIR is one of the considerations in
>> nonexistent_file_errno() in src/remove.c.
>
> That's present in src/remove.c so that 'rm -f a/b' does not complain
> if 'a' is a non-directory; see coreutils commit
> da9541f18e6985593b73c30d121605e8cff62a7b dated 2006-10-03. That
> consideration doesn't apply to recursive chown etc., so I think chown
> etc. shouldn't treat ENOTDIR like ENOENT.
>
> PS. I am sensitive to this issue because today I'm looking into some
> ENOENT issues in GNU Tar. What a mess that is....

I think I agree with that. Removing files in parallel to other
operations is not super uncommon. On the other hand, removing files in
parallel to other operations, while also creating directories in their
place seems quite rare. It might be indicative of some funky (ha...)
behavior going on, so I think it is worth warning about.

Collin



Reply via email to