]> CyberLeo.Net >> Repos - FreeBSD/stable/9.git/commit
MFC r268376 (imp):
authorgjb <gjb@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Wed, 1 Oct 2014 16:18:59 +0000 (16:18 +0000)
committergjb <gjb@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Wed, 1 Oct 2014 16:18:59 +0000 (16:18 +0000)
commit120669a9802b10b7376b74ba4f438a9d42239ba7
tree5f1c2ae41c128614b641deb310982dcae56a0320
parent1c13b924238158f610b0b9b043167bc34e58cd1a
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.

Sponsored by: The FreeBSD Foundation

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