md: remove redundant memalloc scope API usage
authorColy Li <colyli@suse.de>
Thu, 9 Apr 2020 14:17:23 +0000 (22:17 +0800)
committerSong Liu <songliubraving@fb.com>
Wed, 13 May 2020 18:22:31 +0000 (11:22 -0700)
In mddev_create_serial_pool(), memalloc scope APIs memalloc_noio_save()
and memalloc_noio_restore() are used when allocating memory by calling
mempool_create_kmalloc_pool(). After adding the memalloc scope APIs in
raid array suspend context, it is unncessary to explicitly call them
around mempool_create_kmalloc_pool() any longer.

This patch removes the redundant memalloc scope APIs in
mddev_create_serial_pool().

Signed-off-by: Coly Li <colyli@suse.de>
Cc: Guoqing Jiang <guoqing.jiang@cloud.ionos.com>
Signed-off-by: Song Liu <songliubraving@fb.com>
drivers/md/md.c

index 1b3316c..7b2ac5f 100644 (file)
@@ -228,13 +228,13 @@ void mddev_create_serial_pool(struct mddev *mddev, struct md_rdev *rdev,
                goto abort;
 
        if (mddev->serial_info_pool == NULL) {
-               unsigned int noio_flag;
-
-               noio_flag = memalloc_noio_save();
+               /*
+                * already in memalloc noio context by
+                * mddev_suspend()
+                */
                mddev->serial_info_pool =
                        mempool_create_kmalloc_pool(NR_SERIAL_INFOS,
                                                sizeof(struct serial_info));
-               memalloc_noio_restore(noio_flag);
                if (!mddev->serial_info_pool) {
                        rdevs_uninit_serial(mddev);
                        pr_err("can't alloc memory pool for serialization\n");