bug#81444: chown, chmod, chgrp, chcon, ls: --recursive walk does not ignore ENOENT errors
Collin Funk <[email protected]> Wed, 22 Jul 2026 17:18:29 -0700
| Newsgroups | gmane.comp.gnu.core-utils.bugs |
|---|---|
| Message-ID | <[email protected]> |
Paul Eggert <[email protected]> writes: > On 2026-07-22 15:56, P=C3=A1draig 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