[PATCH] block: Remove needless request_queue NULL pointer checks

From: Xu Wang
Date: Thu Sep 16 2021 - 03:51:08 EST


The request_queue pointer returned from bdev_get_queue() shall
never be NULL, so the NULL checks are unnecessary, just remove them.

Signed-off-by: Xu Wang <vulab@xxxxxxxxxxx>
---
block/blk-lib.c | 14 --------------
include/linux/blkdev.h | 32 +++++++-------------------------
kernel/trace/blktrace.c | 6 +-----
3 files changed, 8 insertions(+), 44 deletions(-)

diff --git a/block/blk-lib.c b/block/blk-lib.c
index 9f09beadcbe3..e6e854936ef6 100644
--- a/block/blk-lib.c
+++ b/block/blk-lib.c
@@ -32,9 +32,6 @@ int __blkdev_issue_discard(struct block_device *bdev, sector_t sector,
unsigned int op;
sector_t bs_mask, part_offset = 0;

- if (!q)
- return -ENXIO;
-
if (bdev_read_only(bdev))
return -EPERM;

@@ -172,9 +169,6 @@ static int __blkdev_issue_write_same(struct block_device *bdev, sector_t sector,
struct bio *bio = *biop;
sector_t bs_mask;

- if (!q)
- return -ENXIO;
-
if (bdev_read_only(bdev))
return -EPERM;

@@ -250,10 +244,6 @@ static int __blkdev_issue_write_zeroes(struct block_device *bdev,
{
struct bio *bio = *biop;
unsigned int max_write_zeroes_sectors;
- struct request_queue *q = bdev_get_queue(bdev);
-
- if (!q)
- return -ENXIO;

if (bdev_read_only(bdev))
return -EPERM;
@@ -304,14 +294,10 @@ static int __blkdev_issue_zero_pages(struct block_device *bdev,
sector_t sector, sector_t nr_sects, gfp_t gfp_mask,
struct bio **biop)
{
- struct request_queue *q = bdev_get_queue(bdev);
struct bio *bio = *biop;
int bi_size = 0;
unsigned int sz;

- if (!q)
- return -ENXIO;
-
if (bdev_read_only(bdev))
return -EPERM;

diff --git a/include/linux/blkdev.h b/include/linux/blkdev.h
index 12b9dbcc980e..9ab84ba1d7da 100644
--- a/include/linux/blkdev.h
+++ b/include/linux/blkdev.h
@@ -1529,67 +1529,49 @@ static inline unsigned int bdev_write_same(struct block_device *bdev)
{
struct request_queue *q = bdev_get_queue(bdev);

- if (q)
- return q->limits.max_write_same_sectors;
-
- return 0;
+ return q->limits.max_write_same_sectors;
}

static inline unsigned int bdev_write_zeroes_sectors(struct block_device *bdev)
{
struct request_queue *q = bdev_get_queue(bdev);

- if (q)
- return q->limits.max_write_zeroes_sectors;
-
- return 0;
+ return q->limits.max_write_zeroes_sectors;
}

static inline enum blk_zoned_model bdev_zoned_model(struct block_device *bdev)
{
struct request_queue *q = bdev_get_queue(bdev);

- if (q)
- return blk_queue_zoned_model(q);
-
- return BLK_ZONED_NONE;
+ return blk_queue_zoned_model(q);
}

static inline bool bdev_is_zoned(struct block_device *bdev)
{
struct request_queue *q = bdev_get_queue(bdev);

- if (q)
- return blk_queue_is_zoned(q);
-
- return false;
+ return blk_queue_is_zoned(q);
}

static inline sector_t bdev_zone_sectors(struct block_device *bdev)
{
struct request_queue *q = bdev_get_queue(bdev);

- if (q)
- return blk_queue_zone_sectors(q);
- return 0;
+ return blk_queue_zone_sectors(q);
}

static inline unsigned int bdev_max_open_zones(struct block_device *bdev)
{
struct request_queue *q = bdev_get_queue(bdev);

- if (q)
- return queue_max_open_zones(q);
- return 0;
+ return queue_max_open_zones(q);
}

static inline unsigned int bdev_max_active_zones(struct block_device *bdev)
{
struct request_queue *q = bdev_get_queue(bdev);

- if (q)
- return queue_max_active_zones(q);
- return 0;
+ return queue_max_active_zones(q);
}

static inline int queue_dma_alignment(const struct request_queue *q)
diff --git a/kernel/trace/blktrace.c b/kernel/trace/blktrace.c
index c221e4c3f625..2fe970d896b3 100644
--- a/kernel/trace/blktrace.c
+++ b/kernel/trace/blktrace.c
@@ -714,14 +714,10 @@ EXPORT_SYMBOL_GPL(blk_trace_startstop);
**/
int blk_trace_ioctl(struct block_device *bdev, unsigned cmd, char __user *arg)
{
- struct request_queue *q;
+ struct request_queue *q = bdev_get_queue(bdev);
int ret, start = 0;
char b[BDEVNAME_SIZE];

- q = bdev_get_queue(bdev);
- if (!q)
- return -ENXIO;
-
mutex_lock(&q->debugfs_mutex);

switch (cmd) {
--
2.17.1