On 03/25/2013 12:43 PM, Osier Yang wrote: > It's only used by iscsi backend. > --- > src/storage/storage_backend_iscsi.c | 39 ++++++++++++++++++++++++++++++++++++- > src/storage/storage_backend_scsi.c | 39 ------------------------------------- > src/storage/storage_backend_scsi.h | 3 --- > 3 files changed, 38 insertions(+), 43 deletions(-) > > diff --git a/src/storage/storage_backend_iscsi.c b/src/storage/storage_backend_iscsi.c > index f374961..f6b76ed 100644 > --- a/src/storage/storage_backend_iscsi.c > +++ b/src/storage/storage_backend_iscsi.c > @@ -23,6 +23,7 @@ > > #include <config.h> > > +#include <dirent.h> > #include <sys/socket.h> > #include <netdb.h> > #include <sys/types.h> > @@ -401,6 +402,42 @@ cleanup: > return ret; > } > > +static int > +virStorageBackendISCSIGetHostNumber(const char *sysfs_path, > + uint32_t *host) > +{ > + int retval = 0; > + DIR *sysdir = NULL; > + struct dirent *dirent = NULL; > + > + VIR_DEBUG("Finding host number from '%s'", sysfs_path); > + > + virFileWaitForDevices(); > + > + sysdir = opendir(sysfs_path); > + > + if (sysdir == NULL) { > + virReportSystemError(errno, > + _("Failed to opendir path '%s'"), sysfs_path); > + retval = -1; > + goto out; > + } > + > + while ((dirent = readdir(sysdir))) { > + if (STREQLEN(dirent->d_name, "target", strlen("target"))) { > + if (sscanf(dirent->d_name, > + "target%u:", host) != 1) { > + VIR_DEBUG("Failed to parse target '%s'", dirent->d_name); > + retval = -1; > + break; > + } > + } > + } > + > + closedir(sysdir); > +out: > + return retval; > +} > > static int > virStorageBackendISCSIFindLUs(virStoragePoolObjPtr pool, > @@ -416,7 +453,7 @@ virStorageBackendISCSIFindLUs(virStoragePoolObjPtr pool, > return -1; > } > > - if (virStorageBackendSCSIGetHostNumber(sysfs_path, &host) < 0) { > + if (virStorageBackendISCSIGetHostNumber(sysfs_path, &host) < 0) { > virReportSystemError(errno, > _("Failed to get host number for iSCSI session " > "with path '%s'"), > diff --git a/src/storage/storage_backend_scsi.c b/src/storage/storage_backend_scsi.c > index cc1ebe2..1bf6c0b 100644 > --- a/src/storage/storage_backend_scsi.c > +++ b/src/storage/storage_backend_scsi.c > @@ -547,45 +547,6 @@ out: > return retval; > } > > - > -int > -virStorageBackendSCSIGetHostNumber(const char *sysfs_path, > - uint32_t *host) > -{ > - int retval = 0; > - DIR *sysdir = NULL; > - struct dirent *dirent = NULL; > - > - VIR_DEBUG("Finding host number from '%s'", sysfs_path); > - > - virFileWaitForDevices(); > - > - sysdir = opendir(sysfs_path); > - > - if (sysdir == NULL) { > - virReportSystemError(errno, > - _("Failed to opendir path '%s'"), sysfs_path); > - retval = -1; > - goto out; > - } > - > - while ((dirent = readdir(sysdir))) { > - if (STREQLEN(dirent->d_name, "target", strlen("target"))) { > - if (sscanf(dirent->d_name, > - "target%u:", host) != 1) { > - VIR_DEBUG("Failed to parse target '%s'", dirent->d_name); > - retval = -1; > - break; > - } > - } > - } > - > - closedir(sysdir); > -out: > - return retval; > -} > - > - > static int > virStorageBackendSCSITriggerRescan(uint32_t host) > { > diff --git a/src/storage/storage_backend_scsi.h b/src/storage/storage_backend_scsi.h > index 1cdd0da..0984fd5 100644 > --- a/src/storage/storage_backend_scsi.h > +++ b/src/storage/storage_backend_scsi.h > @@ -33,9 +33,6 @@ > extern virStorageBackend virStorageBackendSCSI; > > int > -virStorageBackendSCSIGetHostNumber(const char *sysfs_path, > - uint32_t *host); > -int > virStorageBackendSCSIFindLUs(virStoragePoolObjPtr pool, > uint32_t scanhost); > > ACK (and FYI I did check - the backend_scsi.c module has other usages of dirent.h) John -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list