diff --git a/block/blk-mq.c b/block/blk-mq.c index 9692fa4c3ef2..0d69572fe1ce 100644 --- a/block/blk-mq.c +++ b/block/blk-mq.c @@ -4443,8 +4443,11 @@ struct gendisk *__blk_mq_alloc_disk(struct blk_mq_tag_set *set, { struct request_queue *q; struct gendisk *disk; + unsigned int nofs_flag; + nofs_flag = memalloc_nofs_save(); q = blk_mq_alloc_queue(set, lim, queuedata); + memalloc_nofs_restore(nofs_flag); if (IS_ERR(q)) return ERR_CAST(q);