Seagull's Bane - Linux automounter

Automounting is handled by a kernel filesystem (autofs) talking to a userspace daemon (e.g. bane). The filesystem must be mounted by the daemon and in the filesystem options a file descriptor number is passed. Generally this is the writable end of a pipe. The daemon can then read messages (defined in linux/auto_fs.h) from that pipe.

The messages are triggered whenever a processes (other than the daemon) touches a dentry in the root of the autofs mount point that isn't a mount point itself. In this case a missing packet is sent to the daemon and the daemon must mount the correct filesystem in place before telling the kernel to unblock processes that are disk waiting on access to that dentry. The daemon can, of course, fail and tell the kernel so that processes get an EEXIST.

Bane consists of three parts: the daemon, the slave and the janitor. The daemon is as described above. The slave is responsible for name->mount_information lookups and the janitor looks for slave NFS filesystems and gets rid of them.

Requires:

To build: make && make install. To run, something like bane -t 300 /homes bane_flatfile /etc/auto.homes

Change Log

0.56: Builds on 2.6 kernels

0.55: Addition of bane_state.py to query a running bane

0.50: More comments. Man pages added. Janitor now builds with 2.4 mount options on

Contrib

bane_autonet.pl: A slave for mounting by server name. Jonathan Hudson

Downloads
FileSizeSHA1Type

Site Map
/Root
     AlternateThe Weird and Wonderful
          BacklinksWhat are backlinks
          John GilmoreWhat's Wrong with Copy Protection
     ArchivesBlog Archives
          OneArchive 1
          TwoArchive 2
          ThreeArchive 3
          FourArchive 4
          FiveArchive 5
          SixArchive 6
          SevenArchive 7
          EightArchive 8
          NineArchive 9
          TenArchive 10
          ElevenArchive 11
          TwelveArchive 12
          ThirteenArchive 13
          FourteenArchive 14
          FifteenArchive 15
          SixteenArchive 16
          SeventeenArchive 17
          EighteenArchive 18
          NineteenArchive 19
          Twenty Archive 20
          Twenty OneArchive 21
          Twenty TwoArchive 22
          Twenty ThreeArchive 23
          Twenty FourArchive 24
          Twenty FiveArchive 25
          Twenty SixArchive 26
          Twenty SevenArchive 27
          Twenty EightArchive 28
          Twenty NineArchive 29
     PhotosPoor People Caught on Film
          Jack and the Beanstalk Jack and the Beanstalk
          RIP ScanResults of a Stage Scan Fire
          YosemiteYosemite National Park
     ProjectsIncomplete things from the lab
          Seagull's BaneLinux Automounter
          bttrackdBitTorrent Tracker
          CAPTCHACAPTCHA CGI script
          ConservConsole Serving
          DeerparkUsing Tor with Firefox/1.1 (Deerpark)
          DNSFixFixing DNS
          XoversXTA Crossover Control
          IAFSArchive Org Storage
          JBIG2JBIG2 Encoder
          VerifyPGP Key Verifier
          MaxFlowMaximal Flow in Python
          PyBloomBloom Filters in Python
          pyGnuTLSPython wrapping of GnuTLS
          SxmapApache SuEXEC Map
          HellardUnion Server Notes
     RecordingsFree recordings
          ICSM ChoirSt Paul's Church
     SchoolAncient School Stuff
     WritingsWho knows
          Cap SystemsCapability Systems
          IntroIntroduction to me
          SupremaJMC2 Group Project
          MP LettersLetters I've written to my MP
          SoundSound With Dramsoc
          SyncThreadingThe wonders of user-land threads