From: Ming Lei Date: Tue, 14 Feb 2017 15:29:00 +0000 (+0800) Subject: md: fail if mddev->bio_set can't be created X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=10273170fd5602d8090b1312e66ad4746ab02c94;p=linux.git md: fail if mddev->bio_set can't be created The current behaviour is to fall back to allocate bio from 'fs_bio_set', that isn't a correct way because it might cause deadlock. So this patch simply return failure if mddev->bio_set can't be created. Reviewed-by: Christoph Hellwig Signed-off-by: Ming Lei Signed-off-by: Shaohua Li --- diff --git a/drivers/md/md.c b/drivers/md/md.c index 13020e5c8cc0b..137a1fe124e8c 100644 --- a/drivers/md/md.c +++ b/drivers/md/md.c @@ -5228,8 +5228,11 @@ int md_run(struct mddev *mddev) sysfs_notify_dirent_safe(rdev->sysfs_state); } - if (mddev->bio_set == NULL) + if (mddev->bio_set == NULL) { mddev->bio_set = bioset_create(BIO_POOL_SIZE, 0); + if (!mddev->bio_set) + return -ENOMEM; + } spin_lock(&pers_lock); pers = find_pers(mddev->level, mddev->clevel);