1: [[!template id=project
2:
3: title="New automounter"
4:
5: contact="""
6: [tech-kern](mailto:tech-kern@NetBSD.org)
7: """
8:
9: mentors="""
10: """
11:
12: category="filesystems"
13: difficulty="medium"
14: duration="3 months"
15:
16: description="""
17: NetBSD currently uses amd for automatically mounting (network) file systems. This software package implements an automounter file system as a userland NFS daemon. While this generally works it has major drawbacks:
18:
19: * File systems are not mounted directly on the desired mount point. As a result applications frequently use incorrect pathnames (e.g. `/amd/server/home/user` instead of `/home/user`) for automatically mounted directories or files beneath them. This is especially problematic in heterogeneous enviroments where not all machines use the same automounter.
20: * The automounter daemon cannot handle high I/O load very well; file access occasionally fails with intermittent errors.
21: * Userland NFS daemons are prone to deadlocking.
22:
23: The milestones of this project are:
24:
25: * implement a new automounter solution which has configurable mount points
26: * improve behavior under load I/O
27: * show benchmarks and implement automated tests
28:
29: There are at least two possible approaches: one is to port FreeBSD's
30: autofs(4), which is an in-kernel file system. This has the advantage
31: of already existing, and being at least loosely Linux and Solaris
32: compatible. (One could also write a new autofs but that doesn't seem
33: like a dominant strategy.)
34:
35: Another possible approach is a new userland daemon using puffs.
36:
37: Note that automount configuration is a complex and largely unsolved
38: problem. While it's desirable to be compatible with existing
39: automounter configuration (because often organizations like to
40: distribute automounter maps through NIS or other facilities) it's also
41: desirable to have a simple, comprehensible, and cogent configuration
42: scheme and these desires are rather at odds.
43: """
44: ]]
45:
46: [[!tag gsoc]]
CVSweb for NetBSD wikisrc <wikimaster@NetBSD.org> software: FreeBSD-CVSweb