When exec bio_alloc, the bi_rw is zero.But after calling bio_add_page, it will use bi_rw. Fox example, in functiion __bio_add_page,it will call merge_bvec_fn(). The merge_bvec_fn of raid456 will use the bi_rw to judge the merge. >> if ((bvm->bi_rw & 1) == WRITE) >> return biovec->bv_len; /* always allow writes to be mergeable */ Jianpeng Ma (8): Evalue bio->bi_rw after calling bio_alloc() and before calling bio_add_page(). Evalue bio->bi_rw after calling bio_alloc() and before calling bio_add_page(). Evalue bio->bi_rw after calling bio_alloc() and before calling bio_add_page(). Evalue bio->bi_rw after calling bio_alloc() and before calling bio_add_page(). Evalue bio->bi_rw after calling bio_alloc() and before calling bio_add_page(). Evalue bio->bi_rw after calling bio_alloc() and before calling bio_add_page(). Evalue bio->bi_rw after calling bio_alloc() and before calling bio_add_page(). Evalue bio->bi_rw after calling bio_alloc() and before calling bio_add_page(). block/blk-lib.c | 1 + drivers/block/xen-blkback/blkback.c | 1 + fs/btrfs/check-integrity.c | 1 + fs/direct-io.c | 1 + fs/ext4/page-io.c | 1 + fs/jfs/jfs_metapage.c | 1 + fs/ocfs2/cluster/heartbeat.c | 8 +++++--- fs/xfs/xfs_aops.c | 2 ++ fs/xfs/xfs_buf.c | 1 + 9 files changed, 14 insertions(+), 3 deletions(-) -- 1.7.9.5 _______________________________________________ xfs mailing list xfs@xxxxxxxxxxx http://oss.sgi.com/mailman/listinfo/xfs