--- cciss_vol_status.c.orig 2017-03-10 23:14:51.000000000 +0100 +++ cciss_vol_status.c 2020-05-10 14:58:27.566806000 +0200 @@ -23,6 +23,8 @@ #include #endif +#include + #define VERSION_NUMBER PACKAGE_VERSION #include @@ -637,7 +639,7 @@ int big_map_support; int drives_per_scsi_bus; - big_map_support = (id->controller_flags && (1<<7)); + big_map_support = (id->controller_flags & (1<<7)); drives_per_scsi_bus = id->drives_per_scsi_bus;; /* if no big drive map support, & zero devices per scsi bus */ @@ -683,7 +685,7 @@ copy_drive_field(model, device_data->drive_model, sizeof(device_data->drive_model)); copy_drive_field(serial_no, device_data->drive_serial_no, sizeof(device_data->drive_serial_no)); copy_drive_field(fw_rev, device_data->drive_fw_rev, sizeof(device_data->drive_fw_rev)); - sprintf(tail, " connector %c%c box %d bay %d %40s %40s %8s", + sprintf(tail, " connector %c%c box %d bay %-2d %40s %40s %8s", device_data->phys_connector[0], device_data->phys_connector[1], device_data->phys_box_on_bus, @@ -1001,7 +1003,7 @@ struct identify_physical_device device_data; char location[300]; - big_map_support = (id->controller_flags && (1<<7)); + big_map_support = (id->controller_flags & (1<<7)); drives_per_scsi_bus = id->drives_per_scsi_bus;; /* if no big drive map support, & zero devices per scsi bus */ @@ -1098,7 +1100,7 @@ break; case 1: sprintf(raid_level, "RAID 4"); break; - case 2: sprintf(raid_level, "RAID 1"); + case 2: sprintf(raid_level, "RAID 1(1+0)"); break; case 3: sprintf(raid_level, "RAID 5"); break; @@ -1204,7 +1206,7 @@ /* Eg. 6400 with internal card cage gives back bogus info */ /* for me for the serial number. */ strncpy(enclosure_sn, bus_param->chassis_sn, 40); - enclosure_sn[41] = '\0'; + enclosure_sn[40] = '\0'; for (i = 40 - 1; i > 0; i--) if (enclosure_sn[i] == ' ') { enclosure_sn[i] = '\0'; @@ -2291,7 +2293,7 @@ return; printf("%35s: %hu MiB\n", "Total cache memory", cache_config->total_memory_size); - printf("%35s: %d% Read / %d% Write\n", "Cache Ratio", cache_config->percent_read_cache, cache_config->percent_write_cache); + printf("%35s: %d%% Read / %d%% Write\n", "Cache Ratio", cache_config->percent_read_cache, cache_config->percent_write_cache); printf("%35s: %hu MiB\n", "Read cache memory", cache_config->mem_for_read_cache); printf("%35s: %hu MiB\n", "Write cache memory", cache_config->mem_for_write_cache); printf("%35s: %s\n", "Write cache enabled", @@ -2477,7 +2479,7 @@ static inline int bmic_supports_big_maps(struct identify_controller *id) { - return id->controller_flags && (1<<7); + return id->controller_flags & (1<<7); } static int bmic_next_disk_bits(uint8_t *bits, int bitmapsize, int disk)