hammer2 - Initial synchronization thread

Operating Systems / DragonFlyBSD - Matthew Dillon [apollo.backplane.com] - 29 March 2015 02:25 UTC

- Add infrastructure for a per-PFS synchronization thread. This primary thread will be responsible for background synchronization out-of-sync masters, slaves, and other elements of a PFS. There will also be another thread for background bulkfree and dedup operations.

In this commit, basic thread creation, destruction, freeze, and unfreeze. (Freezing and remastering is required when new nodes are added to a PFS or existing nodes are deleted).

- Define new cluster flags indicating the synchronization state.

- pfs-create and snapshot were not properly flagging the inode as being a PFS, which confused the on-mount recovery scan code.

- Update TODO.

5ceaaa8 hammer2 - Initial synchronization thread
sys/vfs/hammer2/Makefile | 2 +-
sys/vfs/hammer2/TODO | 11 +++
sys/vfs/hammer2/hammer2.h | 95 +++++++++++++++++++++----
sys/vfs/hammer2/hammer2_cluster.c | 18 ++++-
sys/vfs/hammer2/hammer2_ioctl.c | 1 +
sys/vfs/hammer2/hammer2_syncthr.c | 142 +++++++++++++++++++++++++++++++++++++
sys/vfs/hammer2/hammer2_vfsops.c | 103 ++++++++++++++++++++++-----
7 files changed, 337 insertions(+), 35 deletions(-)

Upstream: gitweb.dragonflybsd.org


  • Share