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
-nosplit The xdisk driver was written by Matthew Dillon <dillon@backplane.com>