HomeFreeBSD

PROGS: Fix ESTALE errors on NFS while cleaning in directories with PROGS.

Description

PROGS: Fix ESTALE errors on NFS while cleaning in directories with PROGS.

  • Only recurse on cleanobj/cleandir if there is no .OBJDIR being used. If we don't recurse then bsd.obj.mk will just rm -rf the OBJDIR dir.
  • When recursing on cleanobj/cleandir don't remove dependfiles/dirs redundantly from the child and main processes. Meaning '.depend', and 'tags', and '.depend.*' will now only be removed from the main process.
  • Stop recursing on 'cleandepend' since the main process can handle removing all files via the default glob patterns in CLEANDEPENDFILES.
  • This reverts r288201, by readding recursion on 'cleanobj', due to r291635 changing how bsd.subdir.mk handles recursion.

This is primarily targeting ESTALE NFS errors from rm(1) during a
buildworld but is also a performance optimization as both issues fixed
were redundant anyway.

Reported by: cperciva, scottl
MFC after: 2 weeks
Sponsored by: Dell EMC Isilon

Details

Provenance
bdreweryAuthored on
Parents
rS321426: cleanobj: Unhide removal of directory.
Branches
Unknown
Tags
Unknown