]> CyberLeo.Net >> Repos - FreeBSD/stable/10.git/commit
MFC r268376 (imp):
authorgjb <gjb@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Wed, 1 Oct 2014 16:18:40 +0000 (16:18 +0000)
committergjb <gjb@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Wed, 1 Oct 2014 16:18:40 +0000 (16:18 +0000)
commit069f31a986a24d264a5d761d22b1f6cace73cd38
tree8bc77214b3ecfcfc244584949ae7ba9e918f28ee
parent8b890ed6cd50529b2ef28428d83a2fd509614685
MFC r268376 (imp):

  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.

Approved by: re (kib)
Sponsored by: The FreeBSD Foundation

git-svn-id: svn://svn.freebsd.org/base/stable/10@272372 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
bin/rm/rm.c