Description of problem:
In systems running the Lustre distributed filesystem, having hundreds or
thousands of node traverse the filesystem due to slocate.cron is unpleasant.
The upstream slocate maintainer will be excluding the "lustre" and "llite"
filesystem types via the /etc/updatedb.conf PRUNEFS variable, but I hope that
you will also do this.
This is applicable to all RHEL and FC releases to date, so it would be desirable
to fix this in all versions.
AFAICS from the latest sources, "lustre" is a nodev filesystem (and I can't find
any "llite" filesystem registration); if so, nothing needs to be done for the
supported FC releases. Can you please attach the contents of /proc/filesystems
when all the Lustre filesystem drivers are loaded?
An RHEL slocate update probably won't happen unless there are important bugs that
need to be fixed, or a customer experiences the issue; nevertheless feel free to
clone this bug report against the relevant RHEL releases.
You are right in that lustre is registered as a "nodev" filesystem. And I
mis-typed - I meant to say to exclude the "lustre_lite" filesystem type.
Even though Lustre a nodev filesystem, I can't find anywhere that this actually
matters. I thought at first when you mentioned this "Doh! there must be a
global exclusion for all nodev filesystem types" (which would probably be a good
idea), but I can't see this anywhere in the code (slocate-2.7.22 being the
latest FC version I can find for FC4 and FC5, and nothing in the upstream
slocate-3.1 release either).
I did a little experiment with /etc/cron.daily/slocate.cron, having removed some
of the PRUNEFS excludes in /etc/updatedb.conf (iso9660, shmfs, devpts, sysfs,
this was on FC3 + slocate-2.7.12). I run slocate.cron, and it indexed files on
/dev/shm (tmpfs), /mnt/cdrom (iso9660), /var/lib/nfs/rpc_pipefs (sunrpc), /sys
(sysfs), /dev/pts (devpts). So clearly the exclusions in updatedb.conf PRUNEFS
are needed even for nodev filesystems.
Thanks. FC-4 slocate filters out nodev filesystems in
/etc/cron.daily/slocate.cron. FC-5 replaces slocate with mlocate, but uses
the same automatic exclusions.
updatedb should therefore do the right thing automatically since FC-4.