Browse Source

block: loop: set QUEUE_FLAG_NOMERGES for request queue of loop

It doesn't make sense to enable merge because the I/O
submitted to backing file is handled page by page.

Signed-off-by: Ming Lei <ming.lei@canonical.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Jens Axboe <axboe@fb.com>
Ming Lei 10 years ago
parent
commit
5b5e20f421
1 changed files with 6 additions and 0 deletions
  1. 6 0
      drivers/block/loop.c

+ 6 - 0
drivers/block/loop.c

@@ -1595,6 +1595,12 @@ static int loop_add(struct loop_device **l, int i)
 	}
 	}
 	lo->lo_queue->queuedata = lo;
 	lo->lo_queue->queuedata = lo;
 
 
+	/*
+	 * It doesn't make sense to enable merge because the I/O
+	 * submitted to backing file is handled page by page.
+	 */
+	queue_flag_set_unlocked(QUEUE_FLAG_NOMERGES, lo->lo_queue);
+
 	INIT_LIST_HEAD(&lo->write_cmd_head);
 	INIT_LIST_HEAD(&lo->write_cmd_head);
 	INIT_WORK(&lo->write_work, loop_queue_write_work);
 	INIT_WORK(&lo->write_work, loop_queue_write_work);