On Oct 2, 2014, at 16:34, Bruce Evans <b...@optusnet.com.au> wrote: > There is still the larger problem with fts_read(). Applications like rm > are specified to do a complete tree walk, with special handling for files > that do not exist. If fts_read() is going to abort in the middle of a > tree walk, then it is unusable for implementing applications like rm.
+1. In this case I was doing a du -sh /* while I was running rm -Rf /rel (an old make release directory tree). This stopped the du -sh: $ sudo du -sh /* 8.0K /COPYRIGHT 996K /bin 218M /boot 0B /boot.config 2.5K /dev 4.0K /entropy 2.2M /etc 1.0G /home 16M /lib 280K /libexec 4.0K /media 4.0K /mnt 4.0K /proc du: /rel/usr/ports/net/samba36: No such file or directory du: /rel/usr/ports/net/aslookup: No such file or directory du: /rel/usr/ports/net/p5-Net-Amazon-AWSSign: No such file or directory du: /rel/usr/ports/net/p5-Net-Server-SS-PreFork: No such file or directory du: /rel/usr/ports/net/lla: No such file or directory du: /rel/usr/ports/net/sslh: No such file or directory du: /rel/usr/ports/net/wmlj: No such file or directory du: /rel/usr/ports/net/sendsms: No such file or directory du: /rel/usr/ports/net/uriparser: No such file or directory du: /rel/usr/ports/net/p5-Data-IPV4-Range-Parse: No such file or directory du: /rel/usr/ports/net/cagibi: No such file or directory du: /rel/usr/ports/net/fsplib: No such file or directory du: fts_read: No such file or directory The problem with changing fts_read to ignore ENOENT or other errors will break compatibility with Linux [and other OSes potentially], and is not the correct solution for this issue. I do however think that the errnos to ignore with -f should be... - EACCES - ENOENT - EPERM … as filtering out these errors would handle the case that -f should handle according to the manpage: -f Attempt to remove the files without prompting for confirmation, regardless of the file's permissions. If the file does not exist, do not display a diagnostic message or modify the exit status to reflect an error. The -f option overrides any previous -i options. Thanks, -Garrett
signature.asc
Description: Message signed with OpenPGP using GPGMail