Make filesystem type configurable for periodic(8)?

Freddie Cash fjwcash at gmail.com
Fri May 4 18:02:01 UTC 2012


On Fri, May 4, 2012 at 9:08 AM, Bryan Drewery <bryan at shatow.net> wrote:
> On 05/04/2012 11:05 AM, Freddie Cash wrote:
>> A few of the periodic(8) scripts in FreeBSD have constructs similar to
>> the following to get which filesystems to scan for various things:
>>     MP=`mount -t ufs,zfs | awk '$0 !~ /no(suid|exec)/ { print $3 }'`
>>
>> For systems with large ZFS pools, and many ZFS filesystems, these
>> periodic scripts can grind it to its knees, and then some.  For
>> backups servers where we don't really care about the
>> ownership/permissions of files from the FreeBSD perspective, we really
>> don't want the ZFS filesytems to be scanned; only the UFS ones for the
>> FreeBSD OS install.  To that end, I have to manually edit these files
>> to remove the ",zfs":
>>     MP=`mount -t ufs | awk '$0 !~ /no(suid|exec)/ { print $3 }'`
>>                           ^^^^^^^^
>> Would it be worthwhile to anyone else to make the filesystem type(s)
>> to scan via the periodic(8) scripts a variable that's set by default
>> in /etc/defaults/periodic.conf and that user's can override via
>> /etc/periodic.conf?
>>
>> Or, am I the only one that's suffering here?  :)
>>
>> If there's interesting in this, I can look into coming up with some
>> patches.  But wanted to check if anyone else would find it useful.
>>
>
> I would find this useful. But further, I have a ZFS root pool as well as
> a ZFS backup pool. I don't want to exclude all of ZFS, just certain
> pools, or even certain datasets.

Would you mind testing the attached patch?  It adds four new variables
for use in periodic.conf (defaults shown):

daily_status_security_chksetuid_fs="ufs,zfs"
daily_status_security_chksetuid_fs_ignore=""
daily_status_security_neggrpperm_fs="ufs,zfs"
daily_status_security_neggrpperm_fs_ignore=""

The _fs variables take filesystem types, as would be passed to
mount(8).  These limit the entire search based on type, so an all or
nothing approach.

The _fs_ignore variables are space separated lists of mountpoints to
skip.  So you can leave zfs in the _fs list, and then list specific
filesystems here that you do not want to be scanned.

I don't claim to be any great shell script writer, but this appears to
do the job.  Any suggestions, pointers, comments, etc welcomed.  :)

-- 
Freddie Cash
fjwcash at gmail.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: periodic-fs-type.patch
Type: application/octet-stream
Size: 2397 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-stable/attachments/20120504/1ccdce4a/periodic-fs-type.obj


More information about the freebsd-stable mailing list