git: hammer2 hammer2 - Implement and test first SPAN message transaction.
Matthew Dillon
dillon at crater.dragonflybsd.org
Tue Jun 12 22:52:41 PDT 2012
commit 9b8b748f5ae6af42fcdda02fba2b052633d7dfac
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date: Tue Jun 12 22:46:13 2012 -0700
hammer2 - Implement and test first SPAN message transaction.
* The hammer2 VFS now sends a dummy SPAN message to the hammer2 service
daemon. SPANs are used to register capabilities (primarily PFS services
and PFS consumers). SPAN messages are left as open transactions for the
duration of the link and/or when the graph changes (mainly a spanning
tree mechanic that will be coded as a function of the hammer2 service
daemon in userland.
* Basic open transaction and simple reply message tested. Use a dummy
message for testing.
* hammer2_msg_write() detects CREATE, allocates state, and assigns a
msgid. state allocation moved out of hammer2_state_msgtx() and
into hammer2_msg_write() so we can calculate the proper CRCs.
* Fixed a couple of expected bugs. The userland code was swapping
msg_hdr.source and msg_hdr.target in the reply, but I adjusted the
message spec to NOT do that (meaning any message routing has to select
{source} or {target} based on whether the REPLY bit is set or not.
* Memory seems to get cleaned up properly, so far.
Summary of changes:
sbin/hammer2/cmd_service.c | 8 +-
sbin/hammer2/crypto.c | 4 +
sbin/hammer2/hammer2.h | 1 +
sbin/hammer2/main.c | 20 ++--
sbin/hammer2/msg.c | 6 -
sys/vfs/hammer2/DESIGN | 1 +
sys/vfs/hammer2/Makefile | 2 +-
sys/vfs/hammer2/hammer2.h | 25 ++++-
sys/vfs/hammer2/hammer2_disk.h | 15 ++-
sys/vfs/hammer2/hammer2_msg.c | 131 +++++++++++++++++---
.../sysarch.c => vfs/hammer2/hammer2_msgops.c} | 39 +++----
sys/vfs/hammer2/hammer2_network.h | 88 ++++++++++++--
sys/vfs/hammer2/hammer2_vfsops.c | 26 ++++-
13 files changed, 288 insertions(+), 78 deletions(-)
copy sys/{platform/vkernel64/platform/sysarch.c => vfs/hammer2/hammer2_msgops.c} (77%)
http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/9b8b748f5ae6af42fcdda02fba2b052633d7dfac
--
DragonFly BSD source repository
More information about the Commits
mailing list