These three patches contain a rework of the SCSI host storage pool patch. The rework
extracts the LUN discovery code from the iSCSI backend and generalizes it be be usable by
both the SCSI and iSCSI backends. The first patch is the one I submitted last week that
contains a port of Dan's HAL code into the current tree. The second is the rework,
and the third is the removal of the HAL dependencies from the build system.
In addition to whatever feedback people have, I'd like help regression testing iSCSI
pools. I have tested on my machine, but it should have a little additional run time
before commit. One change that results from the new way of discovering logical units is
that LUs on iSCSI hosts will not be discovered by the SCSI host pool code--i.e., they have
to be discovered as iSCSI sessions. I'm not terribly happy about that--it's a
result of the way the entries in sysfs appear, so I'm going to think about that some
more, but I wanted to get the first cut out to people for feedback today.
Specific changes are as follows:
Moved the following functions from storage_backend_iscsi.c to
storage_backend_scsi.c and modified them to work for both iSCSI and
SCSI host adapter backends:
virStorageBackendISCSINewLun() -> virStorageBackendSCSINewLun()
virStorageBackendISCSIFindLUNs -> virStorageBackendSCSIFindLUNs()
The static functions notdotdir() and directAccessDevice() were also
moved unmodified to storage_backend_scsi.c.
Created the following function in storage_backend_scsi.c:
virStorageBackendSCSIFindTargets()
Removed the following functions from storage_backend_scsi.c:
virStorageBackendSCSIMakeHostDevice()
virStorageBackendSCSIAddLUN()
virStorageBackendSCSICreateVol()
Reworked the following functions in storage_backend_scsi.c and
storage_backend_iscsi.c to use the common code:
virStorageBackendISCSIFindLUNs()
virStorageBackendSCSIRefreshPool()