zipl/src: Use definitions for the fixed string values

Use definitions for the fixed string values provided by util_proc

Suggested-by: Steffen Eiden <seiden@linux.ibm.com>
Signed-off-by: Eduard Shishkin <edward6@linux.ibm.com>
Reviewed-by: Steffen Eiden <seiden@linux.ibm.com>
Signed-off-by: Steffen Eiden <seiden@linux.ibm.com>
This commit is contained in:
Eduard Shishkin
2024-11-05 14:15:07 +01:00
committed by Steffen Eiden
parent 75820cf62d
commit 81f3845f34
2 changed files with 18 additions and 10 deletions

View File

@@ -14,7 +14,6 @@
#include <ctype.h>
#include <sys/types.h>
struct util_proc_part_entry {
dev_t device;
size_t blockcount;
@@ -27,6 +26,12 @@ struct util_proc_dev_entry {
char *name;
};
#define UTIL_PROC_DEV_ENTRY_DASD "dasd"
#define UTIL_PROC_DEV_ENTRY_VIRTBLK "virtblk"
#define UTIL_PROC_DEV_ENTRY_SD "sd"
#define UTIL_PROC_DEV_ENTRY_BLKEXT "blkext"
#define UTIL_PROC_DEV_ENTRY_MD "md"
int util_proc_part_get_entry(dev_t device, struct util_proc_part_entry *entry);
void util_proc_part_free_entry(struct util_proc_part_entry *entry);
int util_proc_dev_get_entry(dev_t dev, int blockdev,

View File

@@ -406,7 +406,7 @@ static int disk_set_info_auto(struct disk_info *data,
data->partnum = stats->st_rdev & DASD_PARTN_MASK;
data->device = stats->st_rdev & ~DASD_PARTN_MASK;
}
} else if (strcmp(data->drv_name, "dasd") == 0) {
} else if (strcmp(data->drv_name, UTIL_PROC_DEV_ENTRY_DASD) == 0) {
/* Driver name is 'dasd' */
if (ioctl(fd, BIODASDINFO, &dasd_info)) {
error_reason("Could not determine DASD type");
@@ -417,15 +417,15 @@ static int disk_set_info_auto(struct disk_info *data,
return -1;
data->partnum = stats->st_rdev & DASD_PARTN_MASK;
data->device = stats->st_rdev & ~DASD_PARTN_MASK;
} else if (strcmp(data->drv_name, "sd") == 0) {
} else if (strcmp(data->drv_name, UTIL_PROC_DEV_ENTRY_SD) == 0) {
/* Driver name is 'sd' */
data->devno = -1;
data->type = disk_type_scsi;
data->partnum = stats->st_rdev & SCSI_PARTN_MASK;
data->device = stats->st_rdev & ~SCSI_PARTN_MASK;
} else if (strcmp(data->drv_name, "virtblk") == 0) {
} else if (strcmp(data->drv_name, UTIL_PROC_DEV_ENTRY_VIRTBLK) == 0) {
/* Driver name is 'virtblk' */
if (ioctl(fd, HDIO_GETGEO, &data->geo) != 0)
perror("Could not retrieve disk geometry information.");
if (ioctl(fd, BLKSSZGET, &data->phy_block_size) != 0)
@@ -436,9 +436,9 @@ static int disk_set_info_auto(struct disk_info *data,
"determined.");
return -1;
}
/* NVMe path, driver name is 'blkext' */
} else if (strcmp(data->drv_name, "blkext") == 0 &&
} else if (strcmp(data->drv_name, UTIL_PROC_DEV_ENTRY_BLKEXT) == 0 &&
ioctl(fd, NVME_IOCTL_ID) >= 0) {
/* NVMe path, driver name is 'blkext' */
data->devno = -1;
data->type = disk_type_scsi;
data->is_nvme = 1;
@@ -498,10 +498,13 @@ static void set_driver_name(int fd, struct disk_info *info, dev_t device)
if (util_proc_dev_get_entry(device, 1, &dev_entry) == 0) {
mdu_array_info_t array;
if (strcmp(dev_entry.name, "blkext") == 0 &&
if (strcmp(dev_entry.name, UTIL_PROC_DEV_ENTRY_BLKEXT) == 0 &&
ioctl(fd, GET_ARRAY_INFO, &array) >= 0)
/* it is actually an md-partition */
info->drv_name = misc_strdup("md");
/*
* Driver name is 'blkext',
* it is actually an md-partition
*/
info->drv_name = misc_strdup(UTIL_PROC_DEV_ENTRY_MD);
else
info->drv_name = misc_strdup(dev_entry.name);
util_proc_dev_free_entry(&dev_entry);