Просмотр исходного кода

Merge 'for-linus' branch of rsync://rsync.kernel.org/pub/scm/linux/kernel/git/axboe/linux-2.6-block

Linus Torvalds 20 лет назад
Родитель
Сommit
dfd11c2e61
1 измененных файлов с 6 добавлено и 3 удалено
  1. 6 3
      drivers/block/cfq-iosched.c

+ 6 - 3
drivers/block/cfq-iosched.c

@@ -1202,13 +1202,16 @@ retry:
 		if (new_cfqq) {
 			cfqq = new_cfqq;
 			new_cfqq = NULL;
-		} else if (gfp_mask & __GFP_WAIT) {
+		} else {
 			spin_unlock_irq(cfqd->queue->queue_lock);
 			new_cfqq = kmem_cache_alloc(cfq_pool, gfp_mask);
 			spin_lock_irq(cfqd->queue->queue_lock);
+
+			if (!new_cfqq && !(gfp_mask & __GFP_WAIT))
+				goto out;
+
 			goto retry;
-		} else
-			goto out;
+		}
 
 		memset(cfqq, 0, sizeof(*cfqq));