hammer2 - Starting refactoring PFS management in mount
authorMatthew Dillon <dillon@apollo.backplane.com>
Sat, 28 Mar 2015 05:51:17 +0000 (22:51 -0700)
committerMatthew Dillon <dillon@apollo.backplane.com>
Sat, 28 Mar 2015 06:58:37 +0000 (23:58 -0700)
commit506bd6d145b6429947d572e34575b4a2a864193c
treeb1b99bf5363d48c18fea6f190acea9f7ba648750
parent3c1984199065628a4c54b8c89f815f9edfa55c8f
hammer2 - Starting refactoring PFS management in mount

* Start removing single-device shims.

* Adjust data structures.  Rename hammer2_mount to hammer2_dev and
  rename hammer2_pfsmount to hammer2_pfs.  Refactor unmount.

* Integrate all available PFSs when a block device is mounted and
  De-integrate related PFSs when a block device is unmounted.

  At least one PFS (typically @LOCAL) must be mounted from a HAMMER2 block
  device for that device's PFSs to be used.  At least for now.  We could
  eventually trigger auto-mounting via the probe code.

* Add a synchronization thread abstraction for a PFS.

* Normalize chain->pmp to NULL for any chain which is part of the super-root
  topology, for later sanity assertions.

* The ioctl to create a PFS now adds it (delete and snapshot do not, yet).
14 files changed:
sys/vfs/hammer2/hammer2.h
sys/vfs/hammer2/hammer2_bulkscan.c
sys/vfs/hammer2/hammer2_chain.c
sys/vfs/hammer2/hammer2_cluster.c
sys/vfs/hammer2/hammer2_disk.h
sys/vfs/hammer2/hammer2_flush.c
sys/vfs/hammer2/hammer2_freemap.c
sys/vfs/hammer2/hammer2_inode.c
sys/vfs/hammer2/hammer2_io.c
sys/vfs/hammer2/hammer2_iocom.c
sys/vfs/hammer2/hammer2_ioctl.c
sys/vfs/hammer2/hammer2_subr.c
sys/vfs/hammer2/hammer2_vfsops.c
sys/vfs/hammer2/hammer2_vnops.c