Merge branch 'linus' into tracing/mmiotrace
[pandora-kernel.git] / drivers / md / dm-bio-list.h
index da43496..d4509be 100644 (file)
@@ -9,16 +9,37 @@
 
 #include <linux/bio.h>
 
+#ifdef CONFIG_BLOCK
+
 struct bio_list {
        struct bio *head;
        struct bio *tail;
 };
 
+static inline int bio_list_empty(const struct bio_list *bl)
+{
+       return bl->head == NULL;
+}
+
 static inline void bio_list_init(struct bio_list *bl)
 {
        bl->head = bl->tail = NULL;
 }
 
+#define bio_list_for_each(bio, bl) \
+       for (bio = (bl)->head; bio; bio = bio->bi_next)
+
+static inline unsigned bio_list_size(const struct bio_list *bl)
+{
+       unsigned sz = 0;
+       struct bio *bio;
+
+       bio_list_for_each(bio, bl)
+               sz++;
+
+       return sz;
+}
+
 static inline void bio_list_add(struct bio_list *bl, struct bio *bio)
 {
        bio->bi_next = NULL;
@@ -82,4 +103,5 @@ static inline struct bio *bio_list_get(struct bio_list *bl)
        return bio;
 }
 
+#endif /* CONFIG_BLOCK */
 #endif