|
@@ -18,6 +18,7 @@
|
|
|
#include <linux/kthread.h>
|
|
|
#include <linux/freezer.h>
|
|
|
#include <linux/bio.h>
|
|
|
+#include <linux/blkdev.h>
|
|
|
#include <linux/writeback.h>
|
|
|
#include <linux/list_sort.h>
|
|
|
|
|
@@ -145,8 +146,10 @@ void gfs2_ail1_flush(struct gfs2_sbd *sdp, struct writeback_control *wbc)
|
|
|
{
|
|
|
struct list_head *head = &sdp->sd_ail1_list;
|
|
|
struct gfs2_trans *tr;
|
|
|
+ struct blk_plug plug;
|
|
|
|
|
|
trace_gfs2_ail_flush(sdp, wbc, 1);
|
|
|
+ blk_start_plug(&plug);
|
|
|
spin_lock(&sdp->sd_ail_lock);
|
|
|
restart:
|
|
|
list_for_each_entry_reverse(tr, head, tr_list) {
|
|
@@ -156,6 +159,7 @@ restart:
|
|
|
goto restart;
|
|
|
}
|
|
|
spin_unlock(&sdp->sd_ail_lock);
|
|
|
+ blk_finish_plug(&plug);
|
|
|
trace_gfs2_ail_flush(sdp, wbc, 0);
|
|
|
}
|
|
|
|