block: default BLOCK_LEGACY_AUTOLOAD to y
authorChristoph Hellwig <hch@lst.de>
Fri, 25 Feb 2022 18:14:40 +0000 (19:14 +0100)
committerJens Axboe <axboe@kernel.dk>
Sun, 27 Feb 2022 21:49:23 +0000 (14:49 -0700)
As Luis reported, losetup currently doesn't properly create the loop
device without this if the device node already exists because old
scripts created it manually.  So default to y for now and remove the
aggressive removal schedule.

Reported-by: Luis Chamberlain <mcgrof@kernel.org>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Chaitanya Kulkarni <kch@nvidia.com>
Link: https://lore.kernel.org/r/20220225181440.1351591-1-hch@lst.de
Signed-off-by: Jens Axboe <axboe@kernel.dk>
block/Kconfig
block/bdev.c

index 168b873..7eb5d6d 100644 (file)
@@ -28,15 +28,13 @@ if BLOCK
 
 config BLOCK_LEGACY_AUTOLOAD
        bool "Legacy autoloading support"
+       default y
        help
          Enable loading modules and creating block device instances based on
          accesses through their device special file.  This is a historic Linux
          feature and makes no sense in a udev world where device files are
-         created on demand.
-
-         Say N here unless booting or other functionality broke without it, in
-         which case you should also send a report to your distribution and
-         linux-block@vger.kernel.org.
+         created on demand, but scripts that manually create device nodes and
+         then call losetup might rely on this behavior.
 
 config BLK_RQ_ALLOC_TIME
        bool
index c687726..a363231 100644 (file)
@@ -738,7 +738,7 @@ struct block_device *blkdev_get_no_open(dev_t dev)
                inode = ilookup(blockdev_superblock, dev);
                if (inode)
                        pr_warn_ratelimited(
-"block device autoloading is deprecated. It will be removed in Linux 5.19\n");
+"block device autoloading is deprecated and will be removed.\n");
        }
        if (!inode)
                return NULL;