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
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
bane_autonet.pl: A slave for mounting by server name. Jonathan Hudson
| File | Size | SHA1 | Type |
| bane-0.01.tar.bz2 | 24K | ce314a927a2380cbd9c60dedd71cec01ce1a2747 | bzip2 compressed data, block size = 900k |
| bane-0.02.tar.bz2 | 24K | 151d662453e3e6be8cca2fbdb79bfffee66607d8 | bzip2 compressed data, block size = 900k |
| bane-0.02.tar.bz2.asc | 8.0K | d528814bd7c9d6e6929d6c606f48b3b84f580b3b | PGP armored data |
| bane-0.50.tar.bz2 | 24K | c6d19d30513840eaab2cd7e3bbc0d7512c5cd73d | bzip2 compressed data, block size = 900k |
| bane-0.50.tar.bz2.asc | 8.0K | 6624e977d1c3b431ba5225c44bf835f7e7fb4473 | PGP armored data |
| bane-0.55.tar.bz2 | 24K | f6b4f57dc45a161d94f9ef79b0b43bef3d3b3a40 | bzip2 compressed data, block size = 900k |
| bane-0.55.tar.bz2.asc | 8.0K | cba7609272a4461be051ea987d51fd731078d347 | PGP armored data |
| bane-0.56.tar.bz2 | 20K | 6ff75f7ee202a0afc2e34cef8081cbe21decdc0e | bzip2 compressed data, block size = 900k |
| bane-0.56.tar.bz2.asc | 8.0K | d3c0c6705b4a281a57f4cf7f3d17e7593eaebc3f | PGP armored data |
| bane_autonet.pl | 8.0K | 3c99c53391b670e7d96644c60329bee299c204be | perl script text executable |
| / | Root |
| Alternate | The Weird and Wonderful |
| Backlinks | What are backlinks |
| John Gilmore | What's Wrong with Copy Protection |
| Archives | Blog Archives |
| One | Archive 1 |
| Two | Archive 2 |
| Three | Archive 3 |
| Four | Archive 4 |
| Five | Archive 5 |
| Six | Archive 6 |
| Seven | Archive 7 |
| Eight | Archive 8 |
| Nine | Archive 9 |
| Ten | Archive 10 |
| Eleven | Archive 11 |
| Twelve | Archive 12 |
| Thirteen | Archive 13 |
| Fourteen | Archive 14 |
| Fifteen | Archive 15 |
| Sixteen | Archive 16 |
| Seventeen | Archive 17 |
| Eighteen | Archive 18 |
| Nineteen | Archive 19 |
| Twenty | Archive 20 |
| Twenty One | Archive 21 |
| Twenty Two | Archive 22 |
| Twenty Three | Archive 23 |
| Twenty Four | Archive 24 |
| Twenty Five | Archive 25 |
| Twenty Six | Archive 26 |
| Twenty Seven | Archive 27 |
| Twenty Eight | Archive 28 |
| Twenty Nine | Archive 29 |
| Thirty | Archive 30 |
| Thirty One | Archive 31 |
| Photos | Poor People Caught on Film |
| Jack and the Beanstalk | Jack and the Beanstalk |
| RIP Scan | Results of a Stage Scan Fire |
| Yosemite | Yosemite National Park |
| Projects | Incomplete things from the lab |
| Seagull's Bane | Linux Automounter |
| bttrackd | BitTorrent Tracker |
| CAPTCHA | CAPTCHA CGI script |
| Conserv | Console Serving |
| Deerpark | Using Tor with Firefox/1.1 (Deerpark) |
| DNSFix | Fixing DNS |
| Xovers | XTA Crossover Control |
| IAFS | Archive Org Storage |
| JBIG2 | JBIG2 Encoder |
| Verify | PGP Key Verifier |
| MaxFlow | Maximal Flow in Python |
| PyBloom | Bloom Filters in Python |
| pyGnuTLS | Python wrapping of GnuTLS |
| Sxmap | Apache SuEXEC Map |
| Hellard | Union Server Notes |
| Recordings | Free recordings |
| ICSM Choir | St Paul's Church |
| School | Ancient School Stuff |
| Writings | Who knows |
| Cap Systems | Capability Systems |
| Intro | Introduction to me |
| Suprema | JMC2 Group Project |
| MP Letters | Letters I've written to my MP |
| Sound | Sound With Dramsoc |
| SyncThreading | The wonders of user-land threads |