OpenAFS Native Mountpoints on Linux Andrew Deason June 2019 - - PowerPoint PPT Presentation

openafs native mountpoints on linux
SMART_READER_LITE
LIVE PREVIEW

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-1
SLIDE 1

OpenAFS Native Mountpoints on Linux

Andrew Deason June 2019

OpenAFS Workshop 2019 1

slide-2
SLIDE 2

Background

Single mountpoints are pretty simple:

2

slide-3
SLIDE 3

Background

What about multiple mountpoints? What is ‘..’?

3

slide-4
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
SLIDE 5

Dir-link workarounds

  • What about /proc/$pid/cwd, /proc/$pid/fd/$n?

5

slide-6
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
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
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
SLIDE 9

Linux Native Mounts

9

slide-10
SLIDE 10

Linux Native Mounts

10

slide-11
SLIDE 11

Linux Native Mounts

11

slide-12
SLIDE 12

Concerns

  • MNT_EXPIRE in a loop
  • 10k mounts, 100k, . . . ?
  • Needs testing

12

slide-13
SLIDE 13

Future

  • /afs/:.mount/cell:vol:vnode:uniq
  • Non-/afs mountpoints
  • Separate devices
  • df -h

13

slide-14
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
SLIDE 15

?

14