Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
SUSE:SLE-15-SP7:GA
qemu.22427
block-backend-align-max_transfer-to-requ.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File block-backend-align-max_transfer-to-requ.patch of Package qemu.22427
From: Lin Ma <lma@suse.com> Date: Mon, 13 Sep 2021 17:07:37 +0800 Subject: block-backend: align max_transfer to request alignment Git-commit: b99f7fa08a3df8b8a6a907642e5851cdcf43fa9f References: bsc#1190425 Block device requests must be aligned to bs->bl.request_alignment. It makes sense for drivers to align bs->bl.max_transfer the same way; however when there is no specified limit, blk_get_max_transfer just returns INT_MAX. Since the contract of the function does not specify that INT_MAX means "no maximum", just align the outcome of the function (whether INT_MAX or bs->bl.max_transfer) before returning it. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Lin Ma <lma@suse.com> --- block/block-backend.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/block/block-backend.c b/block/block-backend.c index 8b8f2a80a0d52635059e0315ae16..5344126d1ec81a0af792758da1ad 100644 --- a/block/block-backend.c +++ b/block/block-backend.c @@ -1829,12 +1829,12 @@ uint32_t blk_get_request_alignment(BlockBackend *blk) uint32_t blk_get_max_transfer(BlockBackend *blk) { BlockDriverState *bs = blk_bs(blk); - uint32_t max = 0; + uint32_t max = INT_MAX; if (bs) { - max = bs->bl.max_transfer; + max = MIN_NON_ZERO(max, bs->bl.max_transfer); } - return MIN_NON_ZERO(max, INT_MAX); + return ROUND_DOWN(max, blk_get_request_alignment(blk)); } int blk_get_max_iov(BlockBackend *blk)
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor