iscsi: Set request_alignment during .bdrv_refresh_limits()
We want to eventually stick request_alignment alongside other BlockLimits, but first, we must ensure it is populated at the same time as all other limits, rather than being a special case that is set only when a block is first opened. Signed-off-by: Eric Blake <eblake@redhat.com> Reviewed-by: Kevin Wolf <kwolf@redhat.com> Reviewed-by: Fam Zheng <famz@redhat.com> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
This commit is contained in:
		
							parent
							
								
									835db3ee7b
								
							
						
					
					
						commit
						c8b3b998e2
					
				|  | @ -1589,7 +1589,6 @@ static int iscsi_open(BlockDriverState *bs, QDict *options, int flags, | |||
|         goto out; | ||||
|     } | ||||
|     bs->total_sectors = sector_lun2qemu(iscsilun->num_blocks, iscsilun); | ||||
|     bs->request_alignment = iscsilun->block_size; | ||||
| 
 | ||||
|     /* We don't have any emulation for devices other than disks and CD-ROMs, so
 | ||||
|      * this must be sg ioctl compatible. We force it to be sg, otherwise qemu | ||||
|  | @ -1711,6 +1710,8 @@ static void iscsi_refresh_limits(BlockDriverState *bs, Error **errp) | |||
|     IscsiLun *iscsilun = bs->opaque; | ||||
|     uint32_t max_xfer_len = iscsilun->use_16_for_rw ? 0xffffffff : 0xffff; | ||||
| 
 | ||||
|     bs->request_alignment = iscsilun->block_size; | ||||
| 
 | ||||
|     if (iscsilun->bl.max_xfer_len) { | ||||
|         max_xfer_len = MIN(max_xfer_len, iscsilun->bl.max_xfer_len); | ||||
|     } | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue
	
	 Eric Blake
						Eric Blake