block: bd_start_claiming fix module refcount
authorNick Piggin <npiggin@suse.de>
Tue, 25 May 2010 15:50:21 +0000 (01:50 +1000)
committerJens Axboe <jaxboe@fusionio.com>
Thu, 10 Jun 2010 17:08:34 +0000 (19:08 +0200)
bd_start_claiming has an unbalanced module_put introduced in 6b4517a79.

Signed-off-by: Nick Piggin <npiggin@suse.de>
Acked-by: Tejun Heo <tj@kernel.org>
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
fs/block_dev.c

index 7346c96308a581546b7f5773fd94d41f9a3c7345..204a7632c5118b6ddf32c25e7f7277696f16a288 100644 (file)
@@ -734,6 +734,7 @@ static struct block_device *bd_start_claiming(struct block_device *bdev,
                return ERR_PTR(-ENXIO);
 
        whole = bdget_disk(disk, 0);
+       module_put(disk->fops->owner);
        put_disk(disk);
        if (!whole)
                return ERR_PTR(-ENOMEM);