SLIDE 1
OpenAFS Native Mountpoints on Linux Andrew Deason June 2019 - - PowerPoint PPT Presentation
OpenAFS Native Mountpoints on Linux Andrew Deason June 2019 - - PowerPoint PPT Presentation
OpenAFS Native Mountpoints on Linux Andrew Deason June 2019 OpenAFS Workshop 2019 1 Background Single mountpoints are pretty simple: 2 Background What about multiple mountpoints? What is ..? 3 Dentries and Inodes Inodes:
SLIDE 2
SLIDE 3
Background
What about multiple mountpoints? What is ‘..’?
3
SLIDE 4
Dentries and Inodes
- Inodes: files, dentries: links
- No directory hard-links
- Why?
- Historically, AFS mountpoints were dir-links
- or ‘..’ moved on access
4
SLIDE 5
Dir-link workarounds
- What about /proc/$pid/cwd, /proc/$pid/fd/$n?
5
SLIDE 6
Dir-link workarounds
- d_automount, follow_link
- Commit: “Make dir dentry aliases act like symlinks”
- https://gerrit.openafs.org/7741
- find
- ./mtpt1 → ./mtpt1/subdir → ./mtpt1/subdir/mtpt2 →
./mtpt1/subdir/mtpt2/.. → ./
- There must be a better way!
6
SLIDE 7
Real Mountpoints
- Linux VFS says: must use real mounts
- volumes/mtpts fit the model
- Why don’t we already have it?
- userspace: mount
- kernel: GPLONLY vfs_kern_mount()
7
SLIDE 8
Non-GPL In-kernel Mounts
- Alternatives:
- GPL wrapper
- FUSE
- kAFS
- Userspace upcall
- Existing upcalls:
- DNS (AFSDB)
- OS X mv helper
8
SLIDE 9
Linux Native Mounts
9
SLIDE 10
Linux Native Mounts
10
SLIDE 11
Linux Native Mounts
11
SLIDE 12
Concerns
- MNT_EXPIRE in a loop
- 10k mounts, 100k, . . . ?
- Needs testing
12
SLIDE 13
Future
- /afs/:.mount/cell:vol:vnode:uniq
- Non-/afs mountpoints
- Separate devices
- df -h
13
SLIDE 14
Code
Top commit https://gerrit.openafs.org/13285 All commits https://gerrit.openafs.org/#/q/topic:linux-native-mounts Slides http://dson.org/talks
14
SLIDE 15