fsdb

What is fsdb?

fsdb is a small collection of programs that speed up the creation of secure locate file indexes to the point where a completely up to date database is possible.

Where can I download fsdb?

fsdb is available for download from the SourceForge project page. Installation instructions are included with the distribution.

How does it work?

fsdb is split up into a four different parts (see diagram):

  1. A kernel patch to add a hook into the dnotify mechanism.
  2. A loadable kernel module to take advantage of the dnotify_hook by keeping a list of changed directory inodes. The kernel module exports a character device interface. The minor number is dynamically assigned by the "misc" driver (see /proc/misc). The major number is 10. If devfs is used the device file should automatically appear as /dev/misc/smartupdate.
  3. A daemon (called fsupdate) which connects to the device file and reads the inodes from the kernel. It publishes a unix socket interface (/var/lib/fsdb/fsupdate.sock) and keeps the inodes stored in /var/lib/fsupdate.txt for persistent storage.
  4. A program to generate file system databases, fsdb. This program takes many of the arguments that updatedb (slocate) does, specifically it process /etc/updatedb.conf and also understands the prune paths (-e) and prune filesystems (-f) switches. Additionally fsdb can produce an slocate database for use with slocate for high performance searching.

Additionally some scripts are provided for easy integration:

How much overhead is fsdb?

Computation

Disk Space


John Knottenbelt
Home Page
Last modified: Fri Jan 17 15:19:57 PST 2003
SourceForge.net Logo