mirror of
https://git.freebsd.org/src.git
synced 2026-01-16 23:02:24 +00:00
rm -rf can fail sometimes with an error from fts_read. Make it honor
fflag to ignore fts_read errors, but stop deleting from that directory because no further progress can be made. When building a kernel with a high -j value on a high core count machine, during the cleanobj phase we can wind up doing multiple rm -rf at the same time for modules that have subdirectories. This exposed this race (sometimes) as fts_read can return an error if the directory is removed by another rm -rf. Since the intent of the -f flag was to ignore errors, even if this was a bug in fts_read, we should ignore the error like we've been instructed to do.
This commit is contained in:
parent
e3a6cb96d6
commit
413a368c90
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=268376
1 changed files with 1 additions and 1 deletions
|
|
@ -335,7 +335,7 @@ err:
|
|||
warn("%s", p->fts_path);
|
||||
eval = 1;
|
||||
}
|
||||
if (errno)
|
||||
if (!fflag && errno)
|
||||
err(1, "fts_read");
|
||||
fts_close(fts);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue