>From 7665b026ad2b56350267dc2a03150618598372dc Mon Sep 17 00:00:00 2001
From: Mikulas Patocka <[email protected]>
Date: Thu, 14 Jan 2016 14:48:25 -0500
Subject: bio: have bio_kmap_irq return the size of mapped data

The function bio_kmap_irq is not usable because it does not return the
size of the mapped data.

Fix bio_kmap_irq and __bio_kmap_irq so that they return the size of
mapped data.

Signed-off-by: Mikulas Patocka <[email protected]>
Signed-off-by: Mike Snitzer <[email protected]>
---
 include/linux/bio.h |   10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

Index: linux-2.6/include/linux/bio.h
===================================================================
--- linux-2.6.orig/include/linux/bio.h
+++ linux-2.6/include/linux/bio.h
@@ -549,14 +549,16 @@ static inline void bvec_kunmap_irq(char
 #endif
 
 static inline char *__bio_kmap_irq(struct bio *bio, struct bvec_iter iter,
-                                  unsigned long *flags)
+                                  unsigned long *flags, unsigned *size)
 {
-       return bvec_kmap_irq(&bio_iter_iovec(bio, iter), flags);
+       struct bio_vec bv = bio_iter_iovec(bio, iter);
+       *size = bv.bv_len;
+       return bvec_kmap_irq(&bv, flags);
 }
 #define __bio_kunmap_irq(buf, flags)   bvec_kunmap_irq(buf, flags)
 
-#define bio_kmap_irq(bio, flags) \
-       __bio_kmap_irq((bio), (bio)->bi_iter, (flags))
+#define bio_kmap_irq(bio, flags, size) \
+       __bio_kmap_irq((bio), (bio)->bi_iter, (flags), (size))
 #define bio_kunmap_irq(buf,flags)      __bio_kunmap_irq(buf, flags)
 
 /*

--
dm-devel mailing list
[email protected]
https://www.redhat.com/mailman/listinfo/dm-devel

Reply via email to