[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: [libvirt] [PATCH 3/7] storage: Move virStorageBackendSCSIGetHostNumber into iscsi backend



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


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]