This is a simple combination of bio_list_merge + bio_list_init
similar to list_splice_init.  While it only saves a single
line in a callers, it makes the move all bios from one list to
another and reinitialize the original pattern a lot more obvious
in the callers.

Signed-off-by: Christoph Hellwig <[email protected]>
---
 include/linux/bio.h | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/include/linux/bio.h b/include/linux/bio.h
index 875d792bffff82..9b8a369f44bc6b 100644
--- a/include/linux/bio.h
+++ b/include/linux/bio.h
@@ -615,6 +615,13 @@ static inline void bio_list_merge(struct bio_list *bl, 
struct bio_list *bl2)
        bl->tail = bl2->tail;
 }
 
+static inline void bio_list_merge_init(struct bio_list *bl,
+               struct bio_list *bl2)
+{
+       bio_list_merge(bl, bl2);
+       bio_list_init(bl2);
+}
+
 static inline void bio_list_merge_head(struct bio_list *bl,
                                       struct bio_list *bl2)
 {
-- 
2.39.2


Reply via email to