Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/shli/md
Pull MD updates from Shaohua Li: "A few fixes of MD for this merge window. Mostly bug fixes: - raid5 stripe batch fix from Amy - Read error handling for raid1 FailFast device from Gioh - raid10 recovery NULL pointer dereference fix from Guoqing - Support write hint for raid5 stripe cache from Mariusz - Fixes for device hot add/remove from Neil and Yufen - Improve flush bio scalability from Xiao" * 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/shli/md: MD: fix lock contention for flush bios md/raid5: Assigning NULL to sh->batch_head before testing bit R5_Overlap of a stripe md/raid1: add error handling of read error from FailFast device md: fix NULL dereference of mddev->pers in remove_and_add_spares() raid5: copy write hint from origin bio to stripe md: fix two problems with setting the "re-add" device state. raid10: check bio in r10buf_pool_free to void NULL pointer dereference md: fix an error code format and remove unsed bio_sector
This commit is contained in:
@@ -255,9 +255,11 @@ static void r10buf_pool_free(void *__r10_bio, void *data)
|
||||
for (j = conf->copies; j--; ) {
|
||||
struct bio *bio = r10bio->devs[j].bio;
|
||||
|
||||
rp = get_resync_pages(bio);
|
||||
resync_free_pages(rp);
|
||||
bio_put(bio);
|
||||
if (bio) {
|
||||
rp = get_resync_pages(bio);
|
||||
resync_free_pages(rp);
|
||||
bio_put(bio);
|
||||
}
|
||||
|
||||
bio = r10bio->devs[j].repl_bio;
|
||||
if (bio)
|
||||
@@ -2362,7 +2364,7 @@ static void fix_read_error(struct r10conf *conf, struct mddev *mddev, struct r10
|
||||
{
|
||||
int sect = 0; /* Offset from r10_bio->sector */
|
||||
int sectors = r10_bio->sectors;
|
||||
struct md_rdev*rdev;
|
||||
struct md_rdev *rdev;
|
||||
int max_read_errors = atomic_read(&mddev->max_corr_read_errors);
|
||||
int d = r10_bio->devs[r10_bio->read_slot].devnum;
|
||||
|
||||
|
Reference in New Issue
Block a user