You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
82 lines
2.8 KiB
82 lines
2.8 KiB
--- |
|
libmultipath/discovery.c | 12 ++++++------ |
|
libmultipath/structs.h | 11 +++++++++-- |
|
2 files changed, 15 insertions(+), 8 deletions(-) |
|
|
|
Index: multipath-tools-130222/libmultipath/discovery.c |
|
=================================================================== |
|
--- multipath-tools-130222.orig/libmultipath/discovery.c |
|
+++ multipath-tools-130222/libmultipath/discovery.c |
|
@@ -845,12 +845,12 @@ scsi_sysfs_pathinfo (struct path * pp) |
|
|
|
condlog(3, "%s: vendor = %s", pp->dev, pp->vendor_id); |
|
|
|
- if (sysfs_get_model(parent, pp->product_id, SCSI_PRODUCT_SIZE)) |
|
+ if (sysfs_get_model(parent, pp->product_id, PATH_PRODUCT_SIZE)) |
|
return 1; |
|
|
|
condlog(3, "%s: product = %s", pp->dev, pp->product_id); |
|
|
|
- if (sysfs_get_rev(parent, pp->rev, SCSI_REV_SIZE)) |
|
+ if (sysfs_get_rev(parent, pp->rev, PATH_REV_SIZE)) |
|
return 1; |
|
|
|
condlog(3, "%s: rev = %s", pp->dev, pp->rev); |
|
@@ -904,11 +904,11 @@ nvme_sysfs_pathinfo (struct path * pp) |
|
return 1; |
|
|
|
snprintf(pp->vendor_id, SCSI_VENDOR_SIZE, "NVME"); |
|
- snprintf(pp->product_id, SCSI_PRODUCT_SIZE, "%s", |
|
+ snprintf(pp->product_id, PATH_PRODUCT_SIZE, "%s", |
|
udev_device_get_sysattr_value(parent, "model")); |
|
snprintf(pp->serial, SERIAL_SIZE, "%s", |
|
udev_device_get_sysattr_value(parent, "serial")); |
|
- snprintf(pp->rev, SCSI_REV_SIZE, "%s", |
|
+ snprintf(pp->rev, PATH_REV_SIZE, "%s", |
|
udev_device_get_sysattr_value(parent, "firmware_rev")); |
|
|
|
condlog(3, "%s: vendor = %s", pp->dev, pp->vendor_id); |
|
@@ -1022,12 +1022,12 @@ cciss_sysfs_pathinfo (struct path * pp) |
|
|
|
condlog(3, "%s: vendor = %s", pp->dev, pp->vendor_id); |
|
|
|
- if (sysfs_get_model(parent, pp->product_id, SCSI_PRODUCT_SIZE)) |
|
+ if (sysfs_get_model(parent, pp->product_id, PATH_PRODUCT_SIZE)) |
|
return 1; |
|
|
|
condlog(3, "%s: product = %s", pp->dev, pp->product_id); |
|
|
|
- if (sysfs_get_rev(parent, pp->rev, SCSI_REV_SIZE)) |
|
+ if (sysfs_get_rev(parent, pp->rev, PATH_REV_SIZE)) |
|
return 1; |
|
|
|
condlog(3, "%s: rev = %s", pp->dev, pp->rev); |
|
Index: multipath-tools-130222/libmultipath/structs.h |
|
=================================================================== |
|
--- multipath-tools-130222.orig/libmultipath/structs.h |
|
+++ multipath-tools-130222/libmultipath/structs.h |
|
@@ -24,6 +24,13 @@ |
|
#define SCSI_PRODUCT_SIZE 17 |
|
#define SCSI_REV_SIZE 5 |
|
#define SCSI_STATE_SIZE 19 |
|
+#define NVME_MODEL_SIZE 41 |
|
+#define NVME_REV_SIZE 9 |
|
+ |
|
+/* This must be the maximum of SCSI and NVME sizes */ |
|
+#define PATH_PRODUCT_SIZE NVME_MODEL_SIZE |
|
+#define PATH_REV_SIZE NVME_REV_SIZE |
|
+ |
|
|
|
#define NO_PATH_RETRY_UNDEF 0 |
|
#define NO_PATH_RETRY_FAIL -1 |
|
@@ -212,8 +219,8 @@ struct path { |
|
struct hd_geometry geom; |
|
char wwid[WWID_SIZE]; |
|
char vendor_id[SCSI_VENDOR_SIZE]; |
|
- char product_id[SCSI_PRODUCT_SIZE]; |
|
- char rev[SCSI_REV_SIZE]; |
|
+ char product_id[PATH_PRODUCT_SIZE]; |
|
+ char rev[PATH_REV_SIZE]; |
|
char serial[SERIAL_SIZE]; |
|
char tgt_node_name[NODE_NAME_SIZE]; |
|
unsigned long long size;
|
|
|