linux-next: manual merge of the md tree with Linus' tree
Hi Shaohua, Today's linux-next merge of the md tree got a conflict in: drivers/md/raid1.c between commit: 309bd96af9e2 ("md: cleanup bio op / flags handling in raid1_write_request") from Linus' tree and commit: 52b82fcc095d ("md/raid1: handle flush request correctly") from the md tree. I fixed it up (see below) and can carry the fix as necessary. This is now fixed as far as linux-next is concerned, but any non trivial conflicts should be mentioned to your upstream maintainer when your tree is submitted for merging. You may also want to consider cooperating with the maintainer of the conflicting tree to minimise any particularly complex conflicts. -- Cheers, Stephen Rothwell diff --cc drivers/md/raid1.c index 830ff2b20346,33526b4d4d10.. --- a/drivers/md/raid1.c +++ b/drivers/md/raid1.c @@@ -1385,8 -1515,7 +1512,8 @@@ static void raid1_write_request(struct conf->mirrors[i].rdev->data_offset); mbio->bi_bdev = conf->mirrors[i].rdev->bdev; mbio->bi_end_io = raid1_end_write_request; - bio_set_op_attrs(mbio, op, do_fua | do_sync); + mbio->bi_opf = bio_op(bio) | - (bio->bi_opf & (REQ_SYNC | REQ_PREFLUSH | REQ_FUA)); ++ (bio->bi_opf & (REQ_SYNC | REQ_FUA)); if (test_bit(FailFast, >mirrors[i].rdev->flags) && !test_bit(WriteMostly, >mirrors[i].rdev->flags) && conf->raid_disks - mddev->degraded > 1)
linux-next: manual merge of the md tree with Linus' tree
Hi Shaohua, Today's linux-next merge of the md tree got a conflict in: drivers/md/raid1.c between commit: 309bd96af9e2 ("md: cleanup bio op / flags handling in raid1_write_request") from Linus' tree and commit: 52b82fcc095d ("md/raid1: handle flush request correctly") from the md tree. I fixed it up (see below) and can carry the fix as necessary. This is now fixed as far as linux-next is concerned, but any non trivial conflicts should be mentioned to your upstream maintainer when your tree is submitted for merging. You may also want to consider cooperating with the maintainer of the conflicting tree to minimise any particularly complex conflicts. -- Cheers, Stephen Rothwell diff --cc drivers/md/raid1.c index 830ff2b20346,33526b4d4d10.. --- a/drivers/md/raid1.c +++ b/drivers/md/raid1.c @@@ -1385,8 -1515,7 +1512,8 @@@ static void raid1_write_request(struct conf->mirrors[i].rdev->data_offset); mbio->bi_bdev = conf->mirrors[i].rdev->bdev; mbio->bi_end_io = raid1_end_write_request; - bio_set_op_attrs(mbio, op, do_fua | do_sync); + mbio->bi_opf = bio_op(bio) | - (bio->bi_opf & (REQ_SYNC | REQ_PREFLUSH | REQ_FUA)); ++ (bio->bi_opf & (REQ_SYNC | REQ_FUA)); if (test_bit(FailFast, >mirrors[i].rdev->flags) && !test_bit(WriteMostly, >mirrors[i].rdev->flags) && conf->raid_disks - mddev->degraded > 1)
linux-next: manual merge of the md tree with the tree
Hi Neil, Today's linux-next merge of the md tree got a conflict in drivers/md/raid1.c between commit 4f024f3797c4 ("block: Abstract out bvec iterator") from the block tree and commit 41a336e01188 ("md/raid1: fix request counting bug in new 'barrier' code") from the md tree. I fixed it up (a line fixed in the latter was removed by the latter) and can carry the fix as necessary (no action is required). -- Cheers, Stephen Rothwells...@canb.auug.org.au pgp6bOELZxdyF.pgp Description: PGP signature
linux-next: manual merge of the md tree with the tree
Hi Neil, Today's linux-next merge of the md tree got a conflict in drivers/md/raid1.c between commit 4f024f3797c4 (block: Abstract out bvec iterator) from the block tree and commit 41a336e01188 (md/raid1: fix request counting bug in new 'barrier' code) from the md tree. I fixed it up (a line fixed in the latter was removed by the latter) and can carry the fix as necessary (no action is required). -- Cheers, Stephen Rothwells...@canb.auug.org.au pgp6bOELZxdyF.pgp Description: PGP signature
linux-next: manual merge of the md tree with the tree
Hi Neil, Today's linux-next merge of the md tree got a conflict in fs/bio.c between commit 4363ac7c13a9 ("block: Implement support for WRITE SAME") from the block tree and commit 368e564836d3 ("block: makes bio_split support bio without data") from the md tree. I fixed it up (I think - see below) and can carry the fix as necessary (no action is required). -- Cheers, Stephen Rothwells...@canb.auug.org.au diff --cc fs/bio.c index f855e0e,dbb7a6c..000 --- a/fs/bio.c +++ b/fs/bio.c @@@ -1485,20 -1511,19 +1485,21 @@@ struct bio_pair *bio_split(struct bio * bp->bio2.bi_size -= first_sectors << 9; bp->bio1.bi_size = first_sectors << 9; - bp->bv1 = bi->bi_io_vec[0]; - bp->bv2 = bi->bi_io_vec[0]; - - if (bio_is_rw(bi)) { - bp->bv2.bv_offset += first_sectors << 9; - bp->bv2.bv_len -= first_sectors << 9; - bp->bv1.bv_len = first_sectors << 9; - } + if (bi->bi_vcnt != 0) { + bp->bv1 = bi->bi_io_vec[0]; + bp->bv2 = bi->bi_io_vec[0]; - bp->bv2.bv_offset += first_sectors << 9; - bp->bv2.bv_len -= first_sectors << 9; - bp->bv1.bv_len = first_sectors << 9; ++ if (bio_is_rw(bi)) { ++ bp->bv2.bv_offset += first_sectors << 9; ++ bp->bv2.bv_len -= first_sectors << 9; ++ bp->bv1.bv_len = first_sectors << 9; ++ } - bp->bio1.bi_io_vec = >bv1; - bp->bio2.bi_io_vec = >bv2; + bp->bio1.bi_io_vec = >bv1; + bp->bio2.bi_io_vec = >bv2; - bp->bio1.bi_max_vecs = 1; - bp->bio2.bi_max_vecs = 1; + bp->bio1.bi_max_vecs = 1; + bp->bio2.bi_max_vecs = 1; + } bp->bio1.bi_end_io = bio_pair_end_1; bp->bio2.bi_end_io = bio_pair_end_2; pgpfkFSiOFuw3.pgp Description: PGP signature
linux-next: manual merge of the md tree with the tree
Hi Neil, Today's linux-next merge of the md tree got a conflict in fs/bio.c between commit 4363ac7c13a9 (block: Implement support for WRITE SAME) from the block tree and commit 368e564836d3 (block: makes bio_split support bio without data) from the md tree. I fixed it up (I think - see below) and can carry the fix as necessary (no action is required). -- Cheers, Stephen Rothwells...@canb.auug.org.au diff --cc fs/bio.c index f855e0e,dbb7a6c..000 --- a/fs/bio.c +++ b/fs/bio.c @@@ -1485,20 -1511,19 +1485,21 @@@ struct bio_pair *bio_split(struct bio * bp-bio2.bi_size -= first_sectors 9; bp-bio1.bi_size = first_sectors 9; - bp-bv1 = bi-bi_io_vec[0]; - bp-bv2 = bi-bi_io_vec[0]; - - if (bio_is_rw(bi)) { - bp-bv2.bv_offset += first_sectors 9; - bp-bv2.bv_len -= first_sectors 9; - bp-bv1.bv_len = first_sectors 9; - } + if (bi-bi_vcnt != 0) { + bp-bv1 = bi-bi_io_vec[0]; + bp-bv2 = bi-bi_io_vec[0]; - bp-bv2.bv_offset += first_sectors 9; - bp-bv2.bv_len -= first_sectors 9; - bp-bv1.bv_len = first_sectors 9; ++ if (bio_is_rw(bi)) { ++ bp-bv2.bv_offset += first_sectors 9; ++ bp-bv2.bv_len -= first_sectors 9; ++ bp-bv1.bv_len = first_sectors 9; ++ } - bp-bio1.bi_io_vec = bp-bv1; - bp-bio2.bi_io_vec = bp-bv2; + bp-bio1.bi_io_vec = bp-bv1; + bp-bio2.bi_io_vec = bp-bv2; - bp-bio1.bi_max_vecs = 1; - bp-bio2.bi_max_vecs = 1; + bp-bio1.bi_max_vecs = 1; + bp-bio2.bi_max_vecs = 1; + } bp-bio1.bi_end_io = bio_pair_end_1; bp-bio2.bi_end_io = bio_pair_end_2; pgpfkFSiOFuw3.pgp Description: PGP signature