block: Add bdrv_get_request_alignment()
The next patch needs access to a device's minimum permitted alignment, since NBD wants to advertise this to clients. Add an accessor function, borrowing from blk_get_max_transfer() for accessing a backend's block limits. Signed-off-by: Eric Blake <eblake@redhat.com> Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com> Message-Id: <20190329042750.14704-6-eblake@redhat.com>
This commit is contained in:
parent
9cf638508c
commit
4841211e0d
@ -1764,6 +1764,13 @@ int blk_get_flags(BlockBackend *blk)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Returns the minimum request alignment, in bytes; guaranteed nonzero */
|
||||||
|
uint32_t blk_get_request_alignment(BlockBackend *blk)
|
||||||
|
{
|
||||||
|
BlockDriverState *bs = blk_bs(blk);
|
||||||
|
return bs ? bs->bl.request_alignment : BDRV_SECTOR_SIZE;
|
||||||
|
}
|
||||||
|
|
||||||
/* Returns the maximum transfer length, in bytes; guaranteed nonzero */
|
/* Returns the maximum transfer length, in bytes; guaranteed nonzero */
|
||||||
uint32_t blk_get_max_transfer(BlockBackend *blk)
|
uint32_t blk_get_max_transfer(BlockBackend *blk)
|
||||||
{
|
{
|
||||||
|
@ -177,6 +177,7 @@ bool blk_is_available(BlockBackend *blk);
|
|||||||
void blk_lock_medium(BlockBackend *blk, bool locked);
|
void blk_lock_medium(BlockBackend *blk, bool locked);
|
||||||
void blk_eject(BlockBackend *blk, bool eject_flag);
|
void blk_eject(BlockBackend *blk, bool eject_flag);
|
||||||
int blk_get_flags(BlockBackend *blk);
|
int blk_get_flags(BlockBackend *blk);
|
||||||
|
uint32_t blk_get_request_alignment(BlockBackend *blk);
|
||||||
uint32_t blk_get_max_transfer(BlockBackend *blk);
|
uint32_t blk_get_max_transfer(BlockBackend *blk);
|
||||||
int blk_get_max_iov(BlockBackend *blk);
|
int blk_get_max_iov(BlockBackend *blk);
|
||||||
void blk_set_guest_block_size(BlockBackend *blk, int align);
|
void blk_set_guest_block_size(BlockBackend *blk, int align);
|
||||||
|
Loading…
Reference in New Issue
Block a user