mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-04 17:44:14 +08:00
block: Fix blk_validate_atomic_write_limits() build for arm32
For arm32, we get the following build warning:
In file included from /tmp/next/build/include/linux/printk.h:10,
from /tmp/next/build/include/linux/kernel.h:31,
from /tmp/next/build/block/blk-settings.c:5:
/tmp/next/build/block/blk-settings.c: In function 'blk_validate_atomic_write_limits':
/tmp/next/build/include/asm-generic/div64.h:222:35: warning: comparison of distinct pointer types lacks a cast
222 | (void)(((typeof((n)) *)0) == ((uint64_t *)0)); \
| ^~
The divident for do_div() should be 64b, which it is not. Since we want to
check 2x unsigned ints, just use % operator. This allows us to drop the
chunk_sectors variable.
Fixes: 9da3d1e912
("block: Add core atomic write support")
Reported-by: Mark Brown <broonie@kernel.org>
Closes: https://lore.kernel.org/linux-next/b765d200-4e0f-48b1-a962-7dfa1c4aef9c@kernel.dk/T/#mbf067b1edd89c7f9d7dac6e258c516199953a108
Signed-off-by: John Garry <john.g.garry@oracle.com>
Link: https://lore.kernel.org/r/20240621183016.3092518-1-john.g.garry@oracle.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
This commit is contained in:
parent
caaf7101c0
commit
8324bb755a
@ -175,7 +175,6 @@ static void blk_atomic_writes_update_limits(struct queue_limits *lim)
|
||||
|
||||
static void blk_validate_atomic_write_limits(struct queue_limits *lim)
|
||||
{
|
||||
unsigned int chunk_sectors = lim->chunk_sectors;
|
||||
unsigned int boundary_sectors;
|
||||
|
||||
if (!lim->atomic_write_hw_max)
|
||||
@ -197,7 +196,7 @@ static void blk_validate_atomic_write_limits(struct queue_limits *lim)
|
||||
* Devices which do not conform to these rules can be dealt
|
||||
* with if and when they show up.
|
||||
*/
|
||||
if (WARN_ON_ONCE(do_div(chunk_sectors, boundary_sectors)))
|
||||
if (WARN_ON_ONCE(lim->chunk_sectors % boundary_sectors))
|
||||
goto unsupported;
|
||||
|
||||
/*
|
||||
|
Loading…
Reference in New Issue
Block a user