cluster - Major kernel component work (diskiocom, xdisk, kdmsg)
authorMatthew Dillon <dillon@apollo.backplane.com>
Mon, 3 Dec 2012 05:40:13 +0000 (21:40 -0800)
committerMatthew Dillon <dillon@apollo.backplane.com>
Mon, 3 Dec 2012 07:25:55 +0000 (23:25 -0800)
commit8d6d37b8ec43578679de9fefdfc9fd5fea549925
tree6a8d6bf7089b1acb93c93274fb5cf2ab70287e02
parentf306de83941839488b397fcc6607a535506d4a52
cluster - Major kernel component work (diskiocom, xdisk, kdmsg)

* Major implementation and stabilization work.  Fix lots of bugs,
  improve the AUTO flags and APIs.

* xdisk and diskiocom are now operational for the first time.

  xdisk is a consumer of remote block devices.  You pass it one end of
  a pipe and use an ioctl to create /dev/xa* devices.  The kernel's
  nominal disk management subsystem handles /dev/serno/* and will also
  probe the /dev/xa* devices to create the slices.

  diskiocom is a block device service.  An ioctl is used to connect a
  raw disk device to the network via a pipe.

* The hammer2 service demon ties the two together over the network.

* Initial testing with a local hammer2 service daemon looping da0 to xa0
  succeeded, ~46MB/sec unoptimized using dd.
lib/libdmsg/msg.c
lib/libdmsg/msg_lnk.c
lib/libdmsg/service.c
sbin/hammer2/cmd_debug.c
sbin/hammer2/cmd_service.c
sys/dev/disk/xdisk/xdisk.c
sys/kern/kern_dmsg.c
sys/kern/subr_diskiocom.c
sys/sys/dmsg.h