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:
Linus Torvalds 2016-05-02 12:22:51 -07:00
commit 98bcf28636
3 changed files with 3 additions and 3 deletions

View File

@ -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();

View File

@ -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) {

View File

@ -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);