The block backend driver attempts to build the xenstore backend path using the backend-id entry instead of using the full path exposed in backend.
IOW, the path used by Illumos is /local/domain/<oeid>/backend/vbd/... (with oeid from backend-id) regardless of backend (usually in device/vbd/<id>/backend) which is directly the full path.
While it mostly works with QEMU blkback, it fails under XCP-ng and XenServer as blktap3 moved the "backend node" path to /local/domain/<oeid>/backend/vbd3/... (notice the vbd3), which causes the driver to fail as it's not using the right xenstore path
Seem to be the root cause of #1431.