cvs commit: src/sys/vfs/hammer hammer.h hammer_disk.h hammer_inode.c hammer_ioctl.c hammer_ioctl.h hammer_mirror.c hammer_ondisk.c hammer_reblock.c hammer_subs.c hammer_vnops.c
Matthew Dillon
dillon at crater.dragonflybsd.org
Wed Jul 9 03:30:04 PDT 2008
dillon 2008/07/09 03:29:20 PDT
DragonFly src repository
Modified files:
sys/vfs/hammer hammer.h hammer_disk.h hammer_inode.c
hammer_ioctl.c hammer_ioctl.h
hammer_mirror.c hammer_ondisk.c
hammer_reblock.c hammer_subs.c
hammer_vnops.c
Log:
HAMMER 60I/Many: Mirroring
* Flesh out the mirroring code a lot. It is now 90% done.
* Change the way PFS's are managed. The PFS management structure is no
longer associated with the PFS root inode. Instead all PFS management
structures, for all PFSs, are associated with the master root inode.
This allows a mirroring slave to also mirror the root inode itself.
* Remove the directory localization hacks used to link a PFS to its parent.
PFS's are no longer linked to their parent. Instead, a special
@@PFS softlink is created.
* The master/slave mode must now be selected when a PFS is created and
cannot be changed.
* PFSs are accessed via a special @@PFS softlink created in the parent
directory. HAMMER manipulates this special softlink in the readlink()
command and returns a longer form to the kernel which changes whenever
the snapshot TID changes.
This allows updates to slave PFSs by mirroring commands to not create
stale system caches. Every time you CD through the special softlink
you get the most recent completed snapshot of the PFS.
* Userland now manipulates PFS ids as a simple integer in the range 0-65535.
Revision Changes Path
1.108 +13 -6 src/sys/vfs/hammer/hammer.h
1.48 +1 -1 src/sys/vfs/hammer/hammer_disk.h
1.96 +134 -120 src/sys/vfs/hammer/hammer_inode.c
1.26 +1 -1 src/sys/vfs/hammer/hammer_ioctl.c
1.18 +6 -1 src/sys/vfs/hammer/hammer_ioctl.h
1.9 +86 -46 src/sys/vfs/hammer/hammer_mirror.c
1.67 +1 -0 src/sys/vfs/hammer/hammer_ondisk.c
1.25 +1 -0 src/sys/vfs/hammer/hammer_reblock.c
1.32 +10 -2 src/sys/vfs/hammer/hammer_subs.c
1.84 +79 -31 src/sys/vfs/hammer/hammer_vnops.c
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer.h.diff?r1=1.107&r2=1.108&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_disk.h.diff?r1=1.47&r2=1.48&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_inode.c.diff?r1=1.95&r2=1.96&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_ioctl.c.diff?r1=1.25&r2=1.26&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_ioctl.h.diff?r1=1.17&r2=1.18&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_mirror.c.diff?r1=1.8&r2=1.9&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_ondisk.c.diff?r1=1.66&r2=1.67&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_reblock.c.diff?r1=1.24&r2=1.25&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_subs.c.diff?r1=1.31&r2=1.32&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_vnops.c.diff?r1=1.83&r2=1.84&f=u
More information about the Commits
mailing list