dm: use bio_list_merge_init
authorChristoph Hellwig <hch@lst.de>
Thu, 28 Mar 2024 08:41:46 +0000 (09:41 +0100)
committerJens Axboe <axboe@kernel.dk>
Mon, 1 Apr 2024 17:53:37 +0000 (11:53 -0600)
Use bio_list_merge_init instead of open coding bio_list_merge and
bio_list_init.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Mike Snitzer <snitzer@kernel.org>
Reviewed-by: Johannes Thumshirn <johannes.thumshirn@wdc.com>
Reviewed-by: Damien Le Moal <dlemoal@kernel.org>
Link: https://lore.kernel.org/r/20240328084147.2954434-4-hch@lst.de
Signed-off-by: Jens Axboe <axboe@kernel.dk>
drivers/md/dm-bio-prison-v2.c
drivers/md/dm-cache-target.c
drivers/md/dm-clone-target.c
drivers/md/dm-era-target.c
drivers/md/dm-mpath.c
drivers/md/dm-thin.c
drivers/md/dm-vdo/data-vio.c
drivers/md/dm-vdo/flush.c

index fd852981ef9ccbc42bb6df60661e6ac674e4e23f..cf433b0cf74275fe16cd113ec6d2ad7ea1cf31bc 100644 (file)
@@ -321,8 +321,7 @@ static bool __unlock(struct dm_bio_prison_v2 *prison,
 {
        BUG_ON(!cell->exclusive_lock);
 
-       bio_list_merge(bios, &cell->bios);
-       bio_list_init(&cell->bios);
+       bio_list_merge_init(bios, &cell->bios);
 
        if (cell->shared_count) {
                cell->exclusive_lock = false;
index 911f73f7ebbaa07b4fe345d4471ba1106a9e2190..0fcbf8603846b558dcbf06da828c4c137bc646a8 100644 (file)
@@ -115,8 +115,7 @@ static void __commit(struct work_struct *_ws)
         */
        spin_lock_irq(&b->lock);
        list_splice_init(&b->work_items, &work_items);
-       bio_list_merge(&bios, &b->bios);
-       bio_list_init(&b->bios);
+       bio_list_merge_init(&bios, &b->bios);
        b->commit_scheduled = false;
        spin_unlock_irq(&b->lock);
 
@@ -565,8 +564,7 @@ static void defer_bio(struct cache *cache, struct bio *bio)
 static void defer_bios(struct cache *cache, struct bio_list *bios)
 {
        spin_lock_irq(&cache->lock);
-       bio_list_merge(&cache->deferred_bios, bios);
-       bio_list_init(bios);
+       bio_list_merge_init(&cache->deferred_bios, bios);
        spin_unlock_irq(&cache->lock);
 
        wake_deferred_bio_worker(cache);
@@ -1816,8 +1814,7 @@ static void process_deferred_bios(struct work_struct *ws)
        bio_list_init(&bios);
 
        spin_lock_irq(&cache->lock);
-       bio_list_merge(&bios, &cache->deferred_bios);
-       bio_list_init(&cache->deferred_bios);
+       bio_list_merge_init(&bios, &cache->deferred_bios);
        spin_unlock_irq(&cache->lock);
 
        while ((bio = bio_list_pop(&bios))) {
@@ -1847,8 +1844,7 @@ static void requeue_deferred_bios(struct cache *cache)
        struct bio_list bios;
 
        bio_list_init(&bios);
-       bio_list_merge(&bios, &cache->deferred_bios);
-       bio_list_init(&cache->deferred_bios);
+       bio_list_merge_init(&bios, &cache->deferred_bios);
 
        while ((bio = bio_list_pop(&bios))) {
                bio->bi_status = BLK_STS_DM_REQUEUE;
index 94b2fc33f64be3663ef6ee76276b54c7dcfa7d31..3f68672ab7c938de5943b9f28db7beb04404a61d 100644 (file)
@@ -1181,8 +1181,7 @@ static void process_deferred_discards(struct clone *clone)
        struct bio_list discards = BIO_EMPTY_LIST;
 
        spin_lock_irq(&clone->lock);
-       bio_list_merge(&discards, &clone->deferred_discard_bios);
-       bio_list_init(&clone->deferred_discard_bios);
+       bio_list_merge_init(&discards, &clone->deferred_discard_bios);
        spin_unlock_irq(&clone->lock);
 
        if (bio_list_empty(&discards))
@@ -1215,8 +1214,7 @@ static void process_deferred_bios(struct clone *clone)
        struct bio_list bios = BIO_EMPTY_LIST;
 
        spin_lock_irq(&clone->lock);
-       bio_list_merge(&bios, &clone->deferred_bios);
-       bio_list_init(&clone->deferred_bios);
+       bio_list_merge_init(&bios, &clone->deferred_bios);
        spin_unlock_irq(&clone->lock);
 
        if (bio_list_empty(&bios))
@@ -1237,11 +1235,9 @@ static void process_deferred_flush_bios(struct clone *clone)
         * before issuing them or signaling their completion.
         */
        spin_lock_irq(&clone->lock);
-       bio_list_merge(&bios, &clone->deferred_flush_bios);
-       bio_list_init(&clone->deferred_flush_bios);
-
-       bio_list_merge(&bio_completions, &clone->deferred_flush_completions);
-       bio_list_init(&clone->deferred_flush_completions);
+       bio_list_merge_init(&bios, &clone->deferred_flush_bios);
+       bio_list_merge_init(&bio_completions,
+                           &clone->deferred_flush_completions);
        spin_unlock_irq(&clone->lock);
 
        if (bio_list_empty(&bios) && bio_list_empty(&bio_completions) &&
index 6acfa5bf97a400078e2b5c8b3920d95345df0874..8f81e597858d5c7c15291dc4490a05fbc4b9bdfa 100644 (file)
@@ -1272,8 +1272,7 @@ static void process_deferred_bios(struct era *era)
        bio_list_init(&marked_bios);
 
        spin_lock(&era->deferred_lock);
-       bio_list_merge(&deferred_bios, &era->deferred_bios);
-       bio_list_init(&era->deferred_bios);
+       bio_list_merge_init(&deferred_bios, &era->deferred_bios);
        spin_unlock(&era->deferred_lock);
 
        if (bio_list_empty(&deferred_bios))
index 05d1328d18119c93ca0c0796b19504304ca9559b..15b681b901531fd3076de2a810ae41a092100dd5 100644 (file)
@@ -704,8 +704,7 @@ static void process_queued_bios(struct work_struct *work)
                return;
        }
 
-       bio_list_merge(&bios, &m->queued_bios);
-       bio_list_init(&m->queued_bios);
+       bio_list_merge_init(&bios, &m->queued_bios);
 
        spin_unlock_irqrestore(&m->lock, flags);
 
index 4793ad2aa1f7e85f44034c1a7b4f23b6ba43c4ac..f359984c8ef27ef712dadd877157eed597e5fbce 100644 (file)
@@ -592,12 +592,6 @@ struct dm_thin_endio_hook {
        struct dm_bio_prison_cell *cell;
 };
 
-static void __merge_bio_list(struct bio_list *bios, struct bio_list *master)
-{
-       bio_list_merge(bios, master);
-       bio_list_init(master);
-}
-
 static void error_bio_list(struct bio_list *bios, blk_status_t error)
 {
        struct bio *bio;
@@ -616,7 +610,7 @@ static void error_thin_bio_list(struct thin_c *tc, struct bio_list *master,
        bio_list_init(&bios);
 
        spin_lock_irq(&tc->lock);
-       __merge_bio_list(&bios, master);
+       bio_list_merge_init(&bios, master);
        spin_unlock_irq(&tc->lock);
 
        error_bio_list(&bios, error);
@@ -645,8 +639,8 @@ static void requeue_io(struct thin_c *tc)
        bio_list_init(&bios);
 
        spin_lock_irq(&tc->lock);
-       __merge_bio_list(&bios, &tc->deferred_bio_list);
-       __merge_bio_list(&bios, &tc->retry_on_resume_list);
+       bio_list_merge_init(&bios, &tc->deferred_bio_list);
+       bio_list_merge_init(&bios, &tc->retry_on_resume_list);
        spin_unlock_irq(&tc->lock);
 
        error_bio_list(&bios, BLK_STS_DM_REQUEUE);
index 94f6f1ccfb7d6d8ec9d3f32d450916d21e0a3a22..ab3ea833780946de71c11a8108e8db78a79cd037 100644 (file)
@@ -604,8 +604,7 @@ static void assign_discard_permit(struct limiter *limiter)
 
 static void get_waiters(struct limiter *limiter)
 {
-       bio_list_merge(&limiter->waiters, &limiter->new_waiters);
-       bio_list_init(&limiter->new_waiters);
+       bio_list_merge_init(&limiter->waiters, &limiter->new_waiters);
 }
 
 static inline struct data_vio *get_available_data_vio(struct data_vio_pool *pool)
index 57e87f0d706970b024af6ae12ecd08ee48062e77..dd4fdee2ca0c5ac125721dc9de37d011707713c4 100644 (file)
@@ -369,8 +369,7 @@ void vdo_dump_flusher(const struct flusher *flusher)
 static void initialize_flush(struct vdo_flush *flush, struct vdo *vdo)
 {
        bio_list_init(&flush->bios);
-       bio_list_merge(&flush->bios, &vdo->flusher->waiting_flush_bios);
-       bio_list_init(&vdo->flusher->waiting_flush_bios);
+       bio_list_merge_init(&flush->bios, &vdo->flusher->waiting_flush_bios);
 }
 
 static void launch_flush(struct vdo_flush *flush)