]> git.proxmox.com Git - mirror_ubuntu-artful-kernel.git/blobdiff - block/blk-lib.c
Merge branch 'for-4.8/drivers' of git://git.kernel.dk/linux-block
[mirror_ubuntu-artful-kernel.git] / block / blk-lib.c
index e371f83a31868e0a4ec9d846cccab07b7a5a5bd0..083e56f72308e7ebed8721ba300eb59c22f953cf 100644 (file)
@@ -123,6 +123,7 @@ int blkdev_issue_discard(struct block_device *bdev, sector_t sector,
                ret = submit_bio_wait(bio);
                if (ret == -EOPNOTSUPP && !(flags & BLKDEV_DISCARD_ZERO))
                        ret = 0;
+               bio_put(bio);
        }
        blk_finish_plug(&plug);
 
@@ -176,8 +177,10 @@ int blkdev_issue_write_same(struct block_device *bdev, sector_t sector,
                }
        }
 
-       if (bio)
+       if (bio) {
                ret = submit_bio_wait(bio);
+               bio_put(bio);
+       }
        return ret;
 }
 EXPORT_SYMBOL(blkdev_issue_write_same);
@@ -217,8 +220,11 @@ static int __blkdev_issue_zeroout(struct block_device *bdev, sector_t sector,
                }
        }
 
-       if (bio)
-               return submit_bio_wait(bio);
+       if (bio) {
+               ret = submit_bio_wait(bio);
+               bio_put(bio);
+               return ret;
+       }
        return 0;
 }