]> git.proxmox.com Git - mirror_ubuntu-kernels.git/commitdiff
block: fix rootwait=
authorChristoph Hellwig <hch@lst.de>
Wed, 7 Jun 2023 13:57:46 +0000 (15:57 +0200)
committerJens Axboe <axboe@kernel.dk>
Wed, 7 Jun 2023 14:00:14 +0000 (08:00 -0600)
Failures to look up the gendisk must return -ENODEV so that rootwait
retries the lookup instead of -EINVAL which exits early.

Fixes: cf056a431215 ("init: improve the name_to_dev_t interface")
Reported-by: Fabio Estevam <festevam@gmail.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Tested-by: Fabio Estevam <festevam@gmail.com>
Link: https://lore.kernel.org/r/20230607135746.92995-1-hch@lst.de
Signed-off-by: Jens Axboe <axboe@kernel.dk>
block/early-lookup.c

index 3ff0d2e4dcbfb85ffa61b5bf7df33befab78fbef..48ea3e982419cc969d87796ebed2b2cf652705b3 100644 (file)
@@ -181,7 +181,7 @@ static int __init devt_from_devname(const char *name, dev_t *devt)
        *p = '\0';
        *devt = blk_lookup_devt(s, part);
        if (*devt)
-               return 0;
+               return -ENODEV;
 
        /* try disk name without p<part number> */
        if (p < s + 2 || !isdigit(p[-2]) || p[-1] != 'p')
@@ -190,7 +190,7 @@ static int __init devt_from_devname(const char *name, dev_t *devt)
        *devt = blk_lookup_devt(s, part);
        if (*devt)
                return 0;
-       return -EINVAL;
+       return -ENODEV;
 }
 
 static int __init devt_from_devnum(const char *name, dev_t *devt)