DragonFly On-Line Manual Pages
XDISK(4) DragonFly Kernel Interfaces Manual XDISK(4)
NAME
xdisk - Remote disk block device dmsg service
SYNOPSIS
To compile this driver into the kernel, place the following line in your
kernel configuration file:
device xdisk
Alternatively, to load the driver as a module at boot time, place the
following line in loader.conf(5):
xdisk_load="YES"
Note that DragonFly does not compile this driver into the kernel by
default.
Since the userland hammer2 service daemon must be running, you cannot use
xdisk block devices as boot devices.
DESCRIPTION
The xdisk driver exports local block devices and imports remote block
devices. The devices show up under /dev/xa*, /dev/serno, /dev/by-label,
and /dev/*-by-uuid. It is recommended that all drive references go via
/dev/serno, /dev/by-label, or /dev/*-by-uuid. The /dev/xa* paths can
change at a whim depending on the order of operations.
If a device goes away or the connection is lost, the device entry remains
until the ref-count drops to 0. Any active I/O will hard-block.
Resumption of the connection resumes operations where they left off. No
I/O requests are lost. The driver is robust across reconnection,
crashes, and reboots, but possibly not across power failures if the
target drive loses buffered write data for completed I/Os.
Over a 1Gbe network, synchronous D1 latency still allows for around 30-40
MBytes/sec. Filesystem mounts can usually max-out the line rate (in
excess of 100 MBytes/sec) due to filesystem read-ahead and write
buffering.
The hammer2(8) service daemon is used as an intermediary and must be
running on all machines in question.
SEE ALSO
ahci(4), nvme(4), hammer2(8)
HISTORY
The xdisk driver has been in the source tree a while but is now
automatically built and part of base as of DragonFly 6.1.
AUTHORS
The xdisk driver was written by Matthew Dillon <dillon@backplane.com>
DragonFly 6.1-DEVELOPMENT October 30, 2021 DragonFly 6.1-DEVELOPMENT