Hi Jens, Today's linux-next merge of the block tree got a conflict in drivers/md/raid5.c between commit 37c61ff31e9b ("raid5: set bio bi_vcnt 0 for discard request") from Linus' tree and commit ed2d2f9a8265 ("block: Abstract out bvec iterator") from the block tree. I fixed it up (see below) and can carry the fix as necessary (no action is required). -- Cheers, Stephen Rothwell sfr@xxxxxxxxxxxxxxxx diff --cc drivers/md/raid5.c index f8b906843926,e00beb5d2e88..000000000000 --- a/drivers/md/raid5.c +++ b/drivers/md/raid5.c @@@ -777,13 -777,7 +777,13 @@@ static void ops_run_io(struct stripe_he bi->bi_vcnt = 1; bi->bi_io_vec[0].bv_len = STRIPE_SIZE; bi->bi_io_vec[0].bv_offset = 0; - bi->bi_size = STRIPE_SIZE; + bi->bi_iter.bi_size = STRIPE_SIZE; + /* + * If this is discard request, set bi_vcnt 0. We don't + * want to confuse SCSI because SCSI will replace payload + */ + if (rw & REQ_DISCARD) + bi->bi_vcnt = 0; if (rrdev) set_bit(R5_DOUBLE_LOCKED, &sh->dev[i].flags); @@@ -821,13 -815,7 +821,13 @@@ rbi->bi_vcnt = 1; rbi->bi_io_vec[0].bv_len = STRIPE_SIZE; rbi->bi_io_vec[0].bv_offset = 0; - rbi->bi_size = STRIPE_SIZE; + rbi->bi_iter.bi_size = STRIPE_SIZE; + /* + * If this is discard request, set bi_vcnt 0. We don't + * want to confuse SCSI because SCSI will replace payload + */ + if (rw & REQ_DISCARD) + rbi->bi_vcnt = 0; if (conf->mddev->gendisk) trace_block_bio_remap(bdev_get_queue(rbi->bi_bdev), rbi, disk_devt(conf->mddev->gendisk),
Attachment:
pgpc8lc3TJZgi.pgp
Description: PGP signature