]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/blobdiff - block/blk-lib.c
blk-mq: move hctx lock/unlock into a helper
[mirror_ubuntu-bionic-kernel.git] / block / blk-lib.c
index 061ab54561405e49029847b99aa88ff420912eae..012425f5bd8c5e01e22e1cd2a146221f4e25a260 100644 (file)
@@ -54,6 +54,8 @@ int __blkdev_issue_discard(struct block_device *bdev, sector_t sector,
                sector_t end_sect;
 
                req_sects = min(req_sects, bio_allowed_max_sectors(q));
+               if (!req_sects)
+                       goto fail;
 
                end_sect = sector + req_sects;
 
@@ -77,6 +79,14 @@ int __blkdev_issue_discard(struct block_device *bdev, sector_t sector,
 
        *biop = bio;
        return 0;
+
+fail:
+       if (bio) {
+               submit_bio_wait(bio);
+               bio_put(bio);
+       }
+       *biop = NULL;
+       return -EOPNOTSUPP;
 }
 EXPORT_SYMBOL(__blkdev_issue_discard);