git: HAMMER - Add version 3 meta-data features

看板DFBSD_commit作者時間16年前 (2009/10/15 03:01), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
commit 83f2a3aae851887c1143dd5174eade5b66682dce Author: Matthew Dillon <dillon@apollo.backplane.com> Date: Wed Oct 14 11:44:59 2009 -0700 HAMMER - Add version 3 meta-data features * These features are available for filesystem version 3. Version 2 may be upgraded to version 3 in-place. These features are not usable until you upgrade. * Definitively store snapshots in filesystem meta-data. Softlinks still work. The new snapshot directives (snap, snaplo, snapq, etc) also allow you to specify up to a 64-character note for each snapshot you create. The snapls directive may be used to list all snapshots stored in meta-data. 'hammer cleanup' will move all softlink-based snapshots residing in the <fs>/snapshots directory to meta-data when it next snapshots the filesystem (within a day of upgrading, usually). The snapshot softlinks are left intact. Storing snapshot information in meta-data means that accidental wipes of your <fs>/snapshots directory will NOT cause later hammer cleanup runs to destroy your snapshots! The meta-data snapshots are also removed if you do a prune-everything, or through normal pruning expirations, and thus 'hammer snapls' will definitively list your valid snapshots. This feature also means that you can obtain a definitive list of snapshots available on mirroring slaves. * Definitively store the hammer cleanup configuration file in filesystem meta-data. This meta-data is not mirrored. 'hammer cleanup' will move <fs>/snapshots/config to the new meta-data config and deletes <fs>/snapshots/config after you've upgraded the filesystem. You can edit the configuration with the 'viconfig' directive. * The HAMMER utility has new directives: snap, snaplo, snapq, snaprm, snapls, config, and viconfig. * WARNING! Filesystems mounted 'nohistory' and files chflagged similarly do not have snapshots, but the hammer utility still allows the directives to be run. This is a bug that needs to be fixed. Summary of changes: sbin/hammer/Makefile | 3 +- sbin/hammer/cmd_cleanup.c | 412 ++++++++++++++++++++++++++++++----- sbin/hammer/cmd_config.c | 230 +++++++++++++++++++ sbin/hammer/cmd_snapshot.c | 388 ++++++++++++++++++++++++++++++++- sbin/hammer/cmd_softprune.c | 152 +++++++++++-- sbin/hammer/cmd_version.c | 19 ++- sbin/hammer/hammer.8 | 53 +++++ sbin/hammer/hammer.c | 43 ++++ sbin/hammer/hammer.h | 5 + sys/vfs/hammer/hammer.h | 9 +- sys/vfs/hammer/hammer_disk.h | 38 +++- sys/vfs/hammer/hammer_ioctl.c | 374 +++++++++++++++++++++++++++++++- sys/vfs/hammer/hammer_ioctl.h | 50 ++++- sys/vfs/hammer/hammer_mirror.c | 64 +++++- sys/vfs/hammer/hammer_object.c | 187 ++++++++++++++++- sys/vfs/hammer/hammer_ondisk.c | 2 + sys/vfs/hammer/hammer_reblock.c | 4 +- sys/vfs/hammer/hammer_transaction.c | 9 +- sys/vfs/hammer/hammer_vfsops.c | 1 + 19 files changed, 1940 insertions(+), 103 deletions(-) create mode 100644 sbin/hammer/cmd_config.c http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/83f2a3aae851887c1143dd5174eade5b66682dce -- DragonFly BSD source repository
文章代碼(AID): #1ArX_n56 (DFBSD_commit)