mirror of
https://github.com/torvalds/linux.git
synced 2024-11-28 07:01:32 +00:00
drbd: explicitly submit meta data requests with REQ_NOIDLE
For some reason we have assumed NOIDLE was implied by one of the other flags we set. It is not (anymore?). Explicitly set REQ_NOIDLE for synchronous meta data updates, or we can seriously starve random writes when using CFQ. Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com> Signed-off-by: Lars Ellenberg <lars.ellenberg@linbit.com>
This commit is contained in:
parent
720979fb90
commit
2ed912e9d3
@ -150,7 +150,7 @@ static int _drbd_md_sync_page_io(struct drbd_device *device,
|
|||||||
|
|
||||||
if ((rw & WRITE) && !test_bit(MD_NO_FUA, &device->flags))
|
if ((rw & WRITE) && !test_bit(MD_NO_FUA, &device->flags))
|
||||||
rw |= REQ_FUA | REQ_FLUSH;
|
rw |= REQ_FUA | REQ_FLUSH;
|
||||||
rw |= REQ_SYNC;
|
rw |= REQ_SYNC | REQ_NOIDLE;
|
||||||
|
|
||||||
bio = bio_alloc_drbd(GFP_NOIO);
|
bio = bio_alloc_drbd(GFP_NOIO);
|
||||||
bio->bi_bdev = bdev->md_bdev;
|
bio->bi_bdev = bdev->md_bdev;
|
||||||
|
Loading…
Reference in New Issue
Block a user