summaryrefslogtreecommitdiff
path: root/rust/kernel
diff options
context:
space:
mode:
authorAndreas Hindborg <a.hindborg@samsung.com>2024-06-20 10:57:21 +0200
committerJens Axboe <axboe@kernel.dk>2024-06-20 06:54:48 -0600
commit5ddb88f22eb97218d9295e69c39e0ff7cc64e09c (patch)
treeb9bebce12049651046186fd4d104c4adef5dab7f /rust/kernel
parent69c34f07e45f2d52d9a41991867a1e5a85bbaaf3 (diff)
rust: block: do not use removed queue flag API
`blk_queue_flag_set` and `blk_queue_flag_clear` was removed in favor of a new API. This caused a build error for Rust block device abstractions. Thus, use the new feature passing API instead of the old removed API. Fixes: bd4a633b6f7c ("block: move the nonrot flag to queue_limits") Signed-off-by: Andreas Hindborg <a.hindborg@samsung.com> Link: https://lore.kernel.org/r/20240620085721.1218296-1-nmi@metaspace.dk Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'rust/kernel')
-rw-r--r--rust/kernel/block/mq/gen_disk.rs17
1 files changed, 3 insertions, 14 deletions
diff --git a/rust/kernel/block/mq/gen_disk.rs b/rust/kernel/block/mq/gen_disk.rs
index e06044b549e0..f548a6199847 100644
--- a/rust/kernel/block/mq/gen_disk.rs
+++ b/rust/kernel/block/mq/gen_disk.rs
@@ -100,6 +100,9 @@ impl GenDiskBuilder {
lim.logical_block_size = self.logical_block_size;
lim.physical_block_size = self.physical_block_size;
+ if self.rotational {
+ lim.features = bindings::BLK_FEAT_ROTATIONAL;
+ }
// SAFETY: `tagset.raw_tag_set()` points to a valid and initialized tag set
let gendisk = from_err_ptr(unsafe {
@@ -152,20 +155,6 @@ impl GenDiskBuilder {
// operation, so we will not race.
unsafe { bindings::set_capacity(gendisk, self.capacity_sectors) };
- if !self.rotational {
- // SAFETY: `gendisk` points to a valid and initialized instance of
- // `struct gendisk`. This operation uses a relaxed atomic bit flip
- // operation, so there is no race on this field.
- unsafe { bindings::blk_queue_flag_set(bindings::QUEUE_FLAG_NONROT, (*gendisk).queue) };
- } else {
- // SAFETY: `gendisk` points to a valid and initialized instance of
- // `struct gendisk`. This operation uses a relaxed atomic bit flip
- // operation, so there is no race on this field.
- unsafe {
- bindings::blk_queue_flag_clear(bindings::QUEUE_FLAG_NONROT, (*gendisk).queue)
- };
- }
-
crate::error::to_result(
// SAFETY: `gendisk` points to a valid and initialized instance of
// `struct gendisk`.