block: remove the NULL bdev check in bdev_read_only
authorChristoph Hellwig <hch@lst.de>
Sat, 9 Jan 2021 10:42:50 +0000 (11:42 +0100)
committerJens Axboe <axboe@kernel.dk>
Mon, 25 Jan 2021 01:15:57 +0000 (18:15 -0700)
Only a single caller can end up in bdev_read_only, so move the check
there.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Ming Lei <ming.lei@redhat.com>
Reviewed-by: Martin K. Petersen <martin.petersen@oracle.com>
Reviewed-by: Hannes Reinecke <hare@suse.de>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
block/genhd.c
fs/super.c

index 419548e..484a474 100644 (file)
@@ -1657,11 +1657,8 @@ EXPORT_SYMBOL(set_disk_ro);
 
 int bdev_read_only(struct block_device *bdev)
 {
-       if (!bdev)
-               return 0;
        return bdev->bd_read_only;
 }
-
 EXPORT_SYMBOL(bdev_read_only);
 
 /*
index 2c6cdea..5a1f384 100644 (file)
@@ -865,7 +865,8 @@ int reconfigure_super(struct fs_context *fc)
 
        if (fc->sb_flags_mask & SB_RDONLY) {
 #ifdef CONFIG_BLOCK
-               if (!(fc->sb_flags & SB_RDONLY) && bdev_read_only(sb->s_bdev))
+               if (!(fc->sb_flags & SB_RDONLY) && sb->s_bdev &&
+                   bdev_read_only(sb->s_bdev))
                        return -EACCES;
 #endif