raid_map
pqisrc_raid_map_t *raid_map;
raid_map = os_mem_alloc(softs, raidmap_alloc_size);
if (!raid_map)
ret = pqisrc_prepare_send_raid(softs, &request, raid_map, raidmap_alloc_size, device->scsi3addr, NULL);
raidmap_reported_size = LE_32(raid_map->structure_size);
os_mem_free(softs, (char*)raid_map, raidmap_alloc_size);
ret = pqisrc_raid_map_validation(softs, device, raid_map);
structure_size = raid_map->data_disks_per_row * sizeof(*next_offload_to_mirror);
device->raid_map = raid_map;
os_mem_free(softs, (char*)raid_map, sizeof(*raid_map));
if (device_exist->raid_map) {
device_exist->temp_raid_map = device_exist->raid_map;
device_exist->raid_map = new_device->raid_map;
new_device->raid_map = NULL;
if (device->raid_map) {
os_mem_free(softs, (char *)device->raid_map, sizeof(pqisrc_raid_map_t));
if(new_device_list[i]->raid_map)
os_mem_free(softs, (char *)new_device_list[i]->raid_map,
pqi_scsi_dev_t const *device, pqisrc_raid_map_t *raid_map)
raidmap_size = LE_32(raid_map->structure_size);
phys_dev_num = LE_16(raid_map->layout_map_count) *
(LE_16(raid_map->data_disks_per_row) +
LE_16(raid_map->metadata_disks_per_row));
if (LE_16(raid_map->layout_map_count) != 2) {
if (LE_16(raid_map->layout_map_count) != 3) {
LE_16(raid_map->layout_map_count) > 1) {
LE_16(raid_map->strip_size) *
LE_16(raid_map->data_disks_per_row);
struct raid_map *raid_map, uint64_t first_block)
volume_blk_size = GET_LE32((uint8_t *)&raid_map->volume_blk_size);
GET_LE16((uint8_t *)&raid_map->data_encryption_key_index);
GET_LE64((uint8_t *)&l->raid_map->volume_blk_cnt)) {
GET_LE16((uint8_t *)&l->raid_map->data_disks_per_row);
GET_LE16((uint8_t *)(&l->raid_map->strip_size));
GET_LE16((uint8_t *)(&l->raid_map->layout_map_count));
LE_16(l->raid_map->metadata_disks_per_row);
l->raid_map->parity_rotation_shift)) %
GET_LE16((uint8_t *)(&l->raid_map->row_cnt));
l->raid_map->dev_data[index].ioaccel_handle;
(l->row.first >> l->raid_map->parity_rotation_shift)) %
GET_LE16((uint8_t *)(&l->raid_map->row_cnt));
(GET_LE16((uint8_t *)(&l->raid_map->row_cnt))
GET_LE64((uint8_t *) (&l->raid_map->disk_starting_blk))
if (l->raid_map->phys_blk_shift) {
l->block.disk_block <<= l->raid_map->phys_blk_shift;
disk_blk_cnt <<= l->raid_map->phys_blk_shift;
uint32_t size = disk_blk_cnt * device->raid_map->volume_blk_size;
pqisrc_aio_show_raid_map(pqisrc_softstate_t const *softs, struct raid_map const *m)
pqisrc_aio_show_raid_map(softs, l->raid_map);
if (device->raid_map == NULL) {
l->raid_map = device->raid_map;
l->raid_map->dev_data[l->map.idx].ioaccel_handle;
if (GET_LE16((uint8_t *)(&l->raid_map->flags)) &
pqisrc_set_enc_info(&rcb->enc_info, l->raid_map,
if (!rcb->dvp->raid_map) {
aio_req->num_drives = LE_16(rcb->dvp->raid_map->layout_map_count);
num_data_disks = LE_16(rcb->dvp->raid_map->data_disks_per_row);
num_metadata_disks = LE_16(rcb->dvp->raid_map->metadata_disks_per_row);
aio_req->data_it_nexus = rcb->dvp->raid_map->dev_data[rcb->raid_map_index].ioaccel_handle;
rcb->dvp->raid_map->dev_data[index].ioaccel_handle;
rcb->dvp->raid_map->dev_data[index + 1].ioaccel_handle;
rcb->dvp->raid_map->dev_data[rcb->raid_map_index].xor_mult[1];
struct raid_map *raid_map; /* relevant raid map */
struct raid_map *raid_map; /* I/O accelerator RAID map */
struct raid_map *temp_raid_map; /* Temporary stored RAID map which will be freed later */