summaryrefslogtreecommitdiff
path: root/drivers/block/loop.c
diff options
context:
space:
mode:
authorChristoph Hellwig <hch@lst.de>2021-06-23 17:59:03 +0300
committerJens Axboe <axboe@kernel.dk>2021-07-01 00:34:13 +0300
commit4157fe0b3d16ceca4316674a90c681405cdd23bf (patch)
tree71acbf63a70ad511ddd935fb064535e613905ab1 /drivers/block/loop.c
parentd6da83d072c187d6a69d5a49e2320f62920889d7 (diff)
downloadlinux-4157fe0b3d16ceca4316674a90c681405cdd23bf.tar.xz
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.c9
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: