In order to support multiple backends for virtio-scsi, we should isolate
the core of virtio-scsi from the backend-specific code. The existing
interface to CTL will become the new "CTL" backend for virtio-scsi.
Care has been taken to keep compatibility with previous configurations:
The first backend linked (CTL) will be the default backend if none is
specified, and it does provide a default configuration if no further
options such as targets are explicitly configured.
This is currently also under review in illumos: https://code.illumos.org/c/illumos-gate/+/4425
If you're curious about what another backend does look like, here's the review for the illumos USCSI(4i) backend for SCSI passthrough: https://code.illumos.org/c/illumos-gate/+/4426