md: unplug writes to external bitmaps.
authorNeilBrown <neilb@suse.de>
Wed, 27 Oct 2010 04:37:41 +0000 (15:37 +1100)
committerNeilBrown <neilb@suse.de>
Fri, 29 Oct 2010 05:40:32 +0000 (16:40 +1100)
When writing to an 'external' bitmap we don't currently unplug the
device before waiting, so we can get a 3msec delay each time;
So use REQ_UNPLUG to force and unplug.

Signed-off-by: NeilBrown <neilb@suse.de>
drivers/md/bitmap.c

index fdde0279755fdfc9577f171c8654aad7e5599866..5a1ffe3527aadbdac87f6a31773fcf02e728a765 100644 (file)
@@ -343,7 +343,7 @@ static void write_page(struct bitmap *bitmap, struct page *page, int wait)
                        atomic_inc(&bitmap->pending_writes);
                        set_buffer_locked(bh);
                        set_buffer_mapped(bh);
-                       submit_bh(WRITE, bh);
+                       submit_bh(WRITE | REQ_UNPLUG | REQ_SYNC, bh);
                        bh = bh->b_this_page;
                }