lkml.org 
[lkml]   [2011]   [Jul]   [8]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
Subject[PATCH] block: Initialize bi_rw in mpage so bio_add can make use of it.
From
Jens et al,

do_mpage_readpage()/__mpage_writepage(): When they allocate a new bio,
bi_rw is not initialized. So later when they call __bio_add_page(),
struct bvec_merge_data bvm's .bi_rw will not be initialized with right
direction.
It will be useful for some merge functions if they know the direction
of transfer.

Let me know if this looks good. There are few more places like this
(e.g blkdev_issue_zeroout()). Would it make sense to send patch for
these cases also?

Signed-off-by: Muthukumar R <muthu.lkml@gmail.com>

--------
fs/mpage.c |    2 ++
1 files changed, 2 insertions(+), 0 deletions(-)
diff --git a/fs/mpage.c b/fs/mpage.c
index fdfae9f..c8e0f8a 100644
--- a/fs/mpage.c
+++ b/fs/mpage.c
@@ -293,6 +293,7 @@ alloc_new:
                       goto confused;
       }

+    bio->bi_rw = READ;
       length = first_hole << blkbits;
       if (bio_add_page(bio, page, length, 0) < length) {
               bio = mpage_bio_submit(READ, bio);
@@ -590,6 +591,7 @@ alloc_new:
        * the confused fail path above (OOM) will be very confused when
        * it finds all bh marked clean (i.e. it will not write anything)
        */
+    bio->bi_rw = WRITE;
       length = first_unmapped << blkbits;
       if (bio_add_page(bio, page, length, 0) < length) {
               bio = mpage_bio_submit(WRITE, bio);
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2011-07-09 04:55    [W:1.087 / U:0.920 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site