Signed-off-by: Ming Lei <tom.leim...@gmail.com>
---
 drivers/staging/lustre/lustre/llite/lloop.c | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/drivers/staging/lustre/lustre/llite/lloop.c 
b/drivers/staging/lustre/lustre/llite/lloop.c
index b725fc1..67323db 100644
--- a/drivers/staging/lustre/lustre/llite/lloop.c
+++ b/drivers/staging/lustre/lustre/llite/lloop.c
@@ -302,19 +302,20 @@ static unsigned int loop_get_bio(struct lloop_device *lo, 
struct bio **req)
        }
 
        /* TODO: need to split the bio, too bad. */
-       LASSERT(first->bi_vcnt <= LLOOP_MAX_SEGMENTS);
+       LASSERT(bio_pages(first) <= LLOOP_MAX_SEGMENTS);
 
        rw = first->bi_rw;
        bio = &lo->lo_bio;
        while (*bio && (*bio)->bi_rw == rw) {
+               unsigned curr_cnt = bio_pages(*bio);
                CDEBUG(D_INFO, "bio sector %llu size %u count %u vcnt%u\n",
                       (unsigned long long)(*bio)->bi_iter.bi_sector,
                       (*bio)->bi_iter.bi_size,
-                      page_count, (*bio)->bi_vcnt);
-               if (page_count + (*bio)->bi_vcnt > LLOOP_MAX_SEGMENTS)
+                      page_count, curr_cnt);
+               if (page_count + curr_cnt > LLOOP_MAX_SEGMENTS)
                        break;
 
-               page_count += (*bio)->bi_vcnt;
+               page_count += curr_cnt;
                count++;
                bio = &(*bio)->bi_next;
        }
-- 
1.9.1

_______________________________________________
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

Reply via email to