Date: Wed, 25 Mar 2009 19:04:58 GMT From: Kael Fischer <kael.fischer@gmail.com> To: freebsd-gnats-submit@FreeBSD.org Subject: misc/133070: /etc/periodic/daily/100.clean-disks traverses non-local file systems Message-ID: <200903251904.n2PJ4wJ4047395@www.freebsd.org> Resent-Message-ID: <200903251910.n2PJA1Hj060076@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 133070 >Category: misc >Synopsis: /etc/periodic/daily/100.clean-disks traverses non-local file systems >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Wed Mar 25 19:10:00 UTC 2009 >Closed-Date: >Last-Modified: >Originator: Kael Fischer >Release: 7.0-RELEASE-p5 >Organization: University of Utah >Environment: 7.0-RELEASE-p5 FreeBSD 7.0-RELEASE-p5 #0: Wed Oct 1 07:51:58 UTC 2008 root@amd64-builder.daemonology.net:/usr/obj/usr/src/sys/GENERIC amd64 >Description: Reading the script /etc/periodic/daily/100.clean-disks it seems that the authors intend to not traverse non-local file systems. However, the find command used DOES traverse non-local file systems. This can lead to lots of "permission denied" on all the machines of a cluster and clutter the periodic output badly. As has been noted on the mailing lists 'find -x <list of local fs>' is probably the way to go. >How-To-Repeat: set (in /etc/periodic.conf): daily_clean_disks_enable="YES" daily_clean_disks_files="[#,]* .#* a.out *.core *.CKP .emacs_[0-9]*" daily_clean_disks_days=3 daily_clean_disks_verbose="YES" On a system that has an nfs mount, where the server has -maproot=nobody in /etc/exports >Fix: Apply patch. Patch extracts local mount points from mount -p output as follows: all lines are considered local and cleanable that begin with / and are mounted 'rw'. These are presented to find after -x, i.e. 'find -x / /tmp/ usr /var ...) rather than the current 'find / ...' Patch attached with submission follows: --- 100.clean-disks.orig 2008-02-24 02:41:26.000000000 -0700 +++ 100.clean-disks 2009-03-25 12:19:37.000000000 -0600 @@ -41,7 +41,8 @@ print=;; esac - rc=$(find / \( ! -fstype local -o -fstype rdonly \) -a -prune -o \ + rc=$(find -x $(mount -p | awk '/^\// {if($4=="rw") print $2;}') \ + \( ! -fstype local -o -fstype rdonly \) -a -prune -o \ \( $args \) -atime +$daily_clean_disks_days -delete $print | tee /dev/stderr | wc -l) [ -z "$print" ] && rc=0 >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200903251904.n2PJ4wJ4047395>