Fix a possible format timeout issue for large disks on little endian systems. We need to byte swap the 2 byte timeout field.
Signed-off-by: Brian King <brk...@linux.vnet.ibm.com> --- iprlib.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff -puN iprlib.c~iprutils_dasd_timeout_le iprlib.c --- iprutils.patched/iprlib.c~iprutils_dasd_timeout_le 2016-06-24 15:44:43.513144224 -0500 +++ iprutils.patched-bjking1/iprlib.c 2016-06-24 15:48:36.076470060 -0500 @@ -7216,12 +7216,12 @@ static int get_format_timeout(struct ipr for (i = 0; i < records; i++) { if (tos.record[i].op_code != FORMAT_UNIT) continue; - if (IPR_TIMEOUT_RADIX_IS_MINUTE(tos.record[i].timeout)) - return ((tos.record[i].timeout & IPR_TIMEOUT_MASK) * 60); - if (IPR_TIMEOUT_RADIX_IS_SECONDS(tos.record[i].timeout)) - return tos.record[i].timeout & IPR_TIMEOUT_MASK; + if (IPR_TIMEOUT_RADIX_IS_MINUTE(ntohs(tos.record[i].timeout))) + return ((ntohs(tos.record[i].timeout) & IPR_TIMEOUT_MASK) * 60); + if (IPR_TIMEOUT_RADIX_IS_SECONDS(ntohs(tos.record[i].timeout))) + return ntohs(tos.record[i].timeout) & IPR_TIMEOUT_MASK; scsi_dbg(dev, "Unknown timeout radix: %X\n", - (tos.record[i].timeout & IPR_TIMEOUT_RADIX_MASK)); + (ntohs(tos.record[i].timeout) & IPR_TIMEOUT_RADIX_MASK)); break; } } @@ -7285,10 +7285,10 @@ static int ipr_set_dasd_timeouts(struct timeouts.record[ARRAY_SIZE(ipr_dasd_timeouts)].op_code = FORMAT_UNIT; if (format_timeout >= IPR_TIMEOUT_MASK) { timeouts.record[ARRAY_SIZE(ipr_dasd_timeouts)].timeout = - (format_timeout / 60) | IPR_TIMEOUT_MINUTE_RADIX; + htons((format_timeout / 60) | IPR_TIMEOUT_MINUTE_RADIX); } else { timeouts.record[ARRAY_SIZE(ipr_dasd_timeouts)].timeout = - format_timeout; + htons(format_timeout); } } _ ------------------------------------------------------------------------------ What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic patterns at an interface-level. Reveals which users, apps, and protocols are consuming the most bandwidth. Provides multi-vendor support for NetFlow, J-Flow, sFlow and other flows. Make informed decisions using capacity planning reports.http://sdm.link/zohodev2dev _______________________________________________ Iprdd-devel mailing list Iprdd-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/iprdd-devel