2012-07-30 07:24:52

by majianpeng

[permalink] [raw]
Subject: [PATCH 8/8]fs/xfs: Evalue bio->bi_rw after calling bio_alloc() and before calling bio_add_page().

Because call bio_alloc, the bi_rw is zero by default,but in
bio_add_page used the bi_rw. So evalue bi_rw.

Signed-off-by: Jianpeng Ma <[email protected]>
---
fs/xfs/xfs_aops.c | 2 ++
fs/xfs/xfs_buf.c | 1 +
2 files changed, 3 insertions(+)

diff --git a/fs/xfs/xfs_aops.c b/fs/xfs/xfs_aops.c
index 8dad722..f69f4b2 100644
--- a/fs/xfs/xfs_aops.c
+++ b/fs/xfs/xfs_aops.c
@@ -496,6 +496,8 @@ xfs_submit_ioend(
if (!bio) {
retry:
bio = xfs_alloc_ioend_bio(bh);
+ bio->bi_rw = (wbc->sync_mode == WB_SYNC_ALL
+ ? WRITE_SYNC : WRITE);
} else if (bh->b_blocknr != lastblock + 1) {
xfs_submit_ioend_bio(wbc, ioend, bio);
goto retry;
diff --git a/fs/xfs/xfs_buf.c b/fs/xfs/xfs_buf.c
index 269b35c..744ec64 100644
--- a/fs/xfs/xfs_buf.c
+++ b/fs/xfs/xfs_buf.c
@@ -1186,6 +1186,7 @@ next_chunk:
bio->bi_sector = sector;
bio->bi_end_io = xfs_buf_bio_end_io;
bio->bi_private = bp;
+ bio->bi_rw = rw;


for (; size && nr_pages; nr_pages--, map_i++) {
--
1.7.9.5
_______________________________________________
xfs mailing list
[email protected]
http://oss.sgi.com/mailman/listinfo/xfs