diff options
author | Christoph Hellwig <hch@lst.de> | 2021-06-23 16:59:03 +0200 |
---|---|---|
committer | Jens Axboe <axboe@kernel.dk> | 2021-06-30 15:34:13 -0600 |
commit | 4157fe0b3d16ceca4316674a90c681405cdd23bf (patch) | |
tree | 71acbf63a70ad511ddd935fb064535e613905ab1 /drivers/block/loop.c | |
parent | d6da83d072c187d6a69d5a49e2320f62920889d7 (diff) |
loop: don't call loop_lookup before adding a loop device
loop_add returns the right error if the slot wasn't available.
Signed-off-by: Christoph Hellwig <hch@lst.de>
Link: https://lore.kernel.org/r/20210623145908.92973-5-hch@lst.de
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'drivers/block/loop.c')
-rw-r--r-- | drivers/block/loop.c | 9 |
1 files changed, 1 insertions, 8 deletions
diff --git a/drivers/block/loop.c b/drivers/block/loop.c index d587ad210ecd..5b77c1e160b5 100644 --- a/drivers/block/loop.c +++ b/drivers/block/loop.c @@ -2388,14 +2388,12 @@ out: static void loop_probe(dev_t dev) { int idx = MINOR(dev) >> part_shift; - struct loop_device *lo; if (max_loop && idx >= max_loop) return; mutex_lock(&loop_ctl_mutex); - if (loop_lookup(&lo, idx) < 0) - loop_add(idx); + loop_add(idx); mutex_unlock(&loop_ctl_mutex); } @@ -2412,11 +2410,6 @@ static long loop_control_ioctl(struct file *file, unsigned int cmd, ret = -ENOSYS; switch (cmd) { case LOOP_CTL_ADD: - ret = loop_lookup(&lo, parm); - if (ret >= 0) { - ret = -EEXIST; - break; - } ret = loop_add(parm); break; case LOOP_CTL_REMOVE: |