mirror of https://gitee.com/openkylin/linux.git
Merge tag 'md/4.6-rc6-fix' of git://git.kernel.org/pub/scm/linux/kernel/git/shli/md
Pull MD fixes from Shaohua Li: "This update includes several trival fixes. The only important one is to fix MD bio merge, which has big performance impact" * tag 'md/4.6-rc6-fix' of git://git.kernel.org/pub/scm/linux/kernel/git/shli/md: raid5: delete unnecessary warnning MD: make bio mergeable md/raid0: remove empty line printk from dump_zones md/raid0: fix uninitialized variable bug
This commit is contained in:
commit
98bcf28636
|
@ -284,6 +284,8 @@ static blk_qc_t md_make_request(struct request_queue *q, struct bio *bio)
|
||||||
* go away inside make_request
|
* go away inside make_request
|
||||||
*/
|
*/
|
||||||
sectors = bio_sectors(bio);
|
sectors = bio_sectors(bio);
|
||||||
|
/* bio could be mergeable after passing to underlayer */
|
||||||
|
bio->bi_rw &= ~REQ_NOMERGE;
|
||||||
mddev->pers->make_request(mddev, bio);
|
mddev->pers->make_request(mddev, bio);
|
||||||
|
|
||||||
cpu = part_stat_lock();
|
cpu = part_stat_lock();
|
||||||
|
|
|
@ -70,7 +70,6 @@ static void dump_zones(struct mddev *mddev)
|
||||||
(unsigned long long)zone_size>>1);
|
(unsigned long long)zone_size>>1);
|
||||||
zone_start = conf->strip_zone[j].zone_end;
|
zone_start = conf->strip_zone[j].zone_end;
|
||||||
}
|
}
|
||||||
printk(KERN_INFO "\n");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static int create_strip_zones(struct mddev *mddev, struct r0conf **private_conf)
|
static int create_strip_zones(struct mddev *mddev, struct r0conf **private_conf)
|
||||||
|
@ -85,6 +84,7 @@ static int create_strip_zones(struct mddev *mddev, struct r0conf **private_conf)
|
||||||
struct r0conf *conf = kzalloc(sizeof(*conf), GFP_KERNEL);
|
struct r0conf *conf = kzalloc(sizeof(*conf), GFP_KERNEL);
|
||||||
unsigned short blksize = 512;
|
unsigned short blksize = 512;
|
||||||
|
|
||||||
|
*private_conf = ERR_PTR(-ENOMEM);
|
||||||
if (!conf)
|
if (!conf)
|
||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
rdev_for_each(rdev1, mddev) {
|
rdev_for_each(rdev1, mddev) {
|
||||||
|
|
|
@ -3502,8 +3502,6 @@ static void handle_stripe_clean_event(struct r5conf *conf,
|
||||||
dev = &sh->dev[i];
|
dev = &sh->dev[i];
|
||||||
} else if (test_bit(R5_Discard, &dev->flags))
|
} else if (test_bit(R5_Discard, &dev->flags))
|
||||||
discard_pending = 1;
|
discard_pending = 1;
|
||||||
WARN_ON(test_bit(R5_SkipCopy, &dev->flags));
|
|
||||||
WARN_ON(dev->page != dev->orig_page);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
r5l_stripe_write_finished(sh);
|
r5l_stripe_write_finished(sh);
|
||||||
|
|
Loading…
Reference in New Issue