cvs commit: src/usr.bin/locate/locate locate.rc updatedb.sh

Stefan Esser se at FreeBSD.org
Wed Oct 17 04:26:14 PDT 2007


Simon L. Nielsen wrote:
> On 2007.10.17 07:27:51 +0000, Stefan Esser wrote:
>> se          2007-10-17 07:27:51 UTC
>>
>>   FreeBSD src repository
>>
>>   Modified files:
>>     usr.bin/locate/locate locate.rc updatedb.sh 
>>   Log:
>>   The previous version included too many file system types in the scan,
>>   since "local" includes also synthetic file systems (e.g. /dev, /proc)
>>   and loopback mounts.
>>   
>>   This version uses lsvfs to identify file system types that are local
>>   and additionally not synthetik, loopback mounts, or read-only. This
>>   has been suggested by Craig Rodrigues half a year ago. The patch that
>>   has been committed is based on his suggestion, but slightly modified.
> 
> Are you sure all read-only file systems should be excluded?  I quite
> often have systems with some filesystem mounted read-only (often /),
> though granted most of those are "embedded" which doesn't run
> updatedb.

The logic is not to exclude R/O file systems, but R/O file system
*types*. E.g., an UFS root is scanned, whether mounted R/O or R/W
(since it is a writable file system type) but a CD9660 root would
be excluded.

I was not sure about inclusion of this condition, but since CD and
DVD drives have slow seek times (and removable media), this seemed
reasonable to me.

> Which kind of file systems were you thinking should be excluded by the
> RO part which isn't already removed by loopback|network|synthetic ?

The most common is cd9660, but the VFCF_READONLY flag is also set
for UDF and ReiserFS (and possibly some file systems available as
ports).

> I'm not certain read-only shouldn't be excluded, but I just want to
> point out there are cases where read-only still might be a local and
> interesting file system.

Please check the output of lsvfs on your system and let me know,
if the current file system type selection in locate.updatedb does
not match your expectations. I do not have all file system types
available for testing (e.g. none of the fuse-fs sub-types and no
smbfs).

You can always override the file system types to inspect in the
configuration file (/etc/loader.rc). But I hope that the new method
to find a default is much better than the previous (too short) list
and I think it is better than any hard-coded list for most users.

Regards, STefan


More information about the cvs-src mailing list