[L][PATCH 1/2] loop: deprecate autoloading callback loop_probe()

Mauricio Faria de Oliveira mfo at canonical.com
Tue Jul 25 18:27:06 UTC 2023


BugLink: https://bugs.launchpad.net/bugs/2015400

The 'probe' callback in __register_blkdev() is only used under the
CONFIG_BLOCK_LEGACY_AUTOLOAD deprecation guard.

The loop_probe() function is only used for that callback, so guard it
too, accordingly.

See commit fbdee71bb5d8 ("block: deprecate autoloading based on dev_t").

Signed-off-by: Mauricio Faria de Oliveira <mfo at canonical.com>
Reviewed-by: Christoph Hellwig <hch at lst.de>
Link: https://lore.kernel.org/r/20230720143033.841001-2-mfo@canonical.com
Signed-off-by: Jens Axboe <axboe at kernel.dk>
(cherry picked from commit 23881aec85f3219e8462e87c708815ee2cd82358)
Signed-off-by: Mauricio Faria de Oliveira <mfo at canonical.com>
---
 drivers/block/loop.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/drivers/block/loop.c b/drivers/block/loop.c
index 4916fe78ab8f..c44a04217eb5 100644
--- a/drivers/block/loop.c
+++ b/drivers/block/loop.c
@@ -2089,6 +2089,7 @@ static void loop_remove(struct loop_device *lo)
 	put_disk(lo->lo_disk);
 }
 
+#ifdef CONFIG_BLOCK_LEGACY_AUTOLOAD
 static void loop_probe(dev_t dev)
 {
 	int idx = MINOR(dev) >> part_shift;
@@ -2097,6 +2098,9 @@ static void loop_probe(dev_t dev)
 		return;
 	loop_add(idx);
 }
+#else
+#define loop_probe NULL
+#endif /* !CONFIG_BLOCK_LEGACY_AUTOLOAD */
 
 static int loop_control_remove(int idx)
 {
-- 
2.39.2




More information about the kernel-team mailing list