[PATCH 12/19] xen-blkback: bio_alloc can't fail if it is allow to sleep

2022-01-24 Thread Christoph Hellwig
Remove handling of NULL returns from sleeping bio_alloc calls given that
those can't fail.

Signed-off-by: Christoph Hellwig 
---
 drivers/block/xen-blkback/blkback.c | 14 --
 1 file changed, 14 deletions(-)

diff --git a/drivers/block/xen-blkback/blkback.c 
b/drivers/block/xen-blkback/blkback.c
index 14e452896d04c..6bb2ad7692065 100644
--- a/drivers/block/xen-blkback/blkback.c
+++ b/drivers/block/xen-blkback/blkback.c
@@ -1327,9 +1327,6 @@ static int dispatch_rw_block_io(struct xen_blkif_ring 
*ring,
 seg[i].nsec << 9,
 seg[i].offset) == 0)) {
bio = bio_alloc(GFP_KERNEL, bio_max_segs(nseg - i));
-   if (unlikely(bio == NULL))
-   goto fail_put_bio;
-
biolist[nbio++] = bio;
bio_set_dev(bio, preq.bdev);
bio->bi_private = pending_req;
@@ -1346,9 +1343,6 @@ static int dispatch_rw_block_io(struct xen_blkif_ring 
*ring,
BUG_ON(operation_flags != REQ_PREFLUSH);
 
bio = bio_alloc(GFP_KERNEL, 0);
-   if (unlikely(bio == NULL))
-   goto fail_put_bio;
-
biolist[nbio++] = bio;
bio_set_dev(bio, preq.bdev);
bio->bi_private = pending_req;
@@ -1381,14 +1375,6 @@ static int dispatch_rw_block_io(struct xen_blkif_ring 
*ring,
free_req(ring, pending_req);
msleep(1); /* back off a bit */
return -EIO;
-
- fail_put_bio:
-   for (i = 0; i < nbio; i++)
-   bio_put(biolist[i]);
-   atomic_set(_req->pendcnt, 1);
-   __end_block_io_op(pending_req, BLK_STS_RESOURCE);
-   msleep(1); /* back off a bit */
-   return -EIO;
 }
 
 
-- 
2.30.2




[PATCH 12/19] xen-blkback: bio_alloc can't fail if it is allow to sleep

2022-01-17 Thread Christoph Hellwig
Remove handling of NULL returns from sleeping bio_alloc calls given that
those can't fail.

Signed-off-by: Christoph Hellwig 
---
 drivers/block/xen-blkback/blkback.c | 14 --
 1 file changed, 14 deletions(-)

diff --git a/drivers/block/xen-blkback/blkback.c 
b/drivers/block/xen-blkback/blkback.c
index 14e452896d04c..6bb2ad7692065 100644
--- a/drivers/block/xen-blkback/blkback.c
+++ b/drivers/block/xen-blkback/blkback.c
@@ -1327,9 +1327,6 @@ static int dispatch_rw_block_io(struct xen_blkif_ring 
*ring,
 seg[i].nsec << 9,
 seg[i].offset) == 0)) {
bio = bio_alloc(GFP_KERNEL, bio_max_segs(nseg - i));
-   if (unlikely(bio == NULL))
-   goto fail_put_bio;
-
biolist[nbio++] = bio;
bio_set_dev(bio, preq.bdev);
bio->bi_private = pending_req;
@@ -1346,9 +1343,6 @@ static int dispatch_rw_block_io(struct xen_blkif_ring 
*ring,
BUG_ON(operation_flags != REQ_PREFLUSH);
 
bio = bio_alloc(GFP_KERNEL, 0);
-   if (unlikely(bio == NULL))
-   goto fail_put_bio;
-
biolist[nbio++] = bio;
bio_set_dev(bio, preq.bdev);
bio->bi_private = pending_req;
@@ -1381,14 +1375,6 @@ static int dispatch_rw_block_io(struct xen_blkif_ring 
*ring,
free_req(ring, pending_req);
msleep(1); /* back off a bit */
return -EIO;
-
- fail_put_bio:
-   for (i = 0; i < nbio; i++)
-   bio_put(biolist[i]);
-   atomic_set(_req->pendcnt, 1);
-   __end_block_io_op(pending_req, BLK_STS_RESOURCE);
-   msleep(1); /* back off a bit */
-   return -EIO;
 }
 
 
-- 
2.30.2