diff options
-rw-r--r-- | fs/gfs2/log.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/fs/gfs2/log.c b/fs/gfs2/log.c index 9dcb9777a5f8..1e1bda0de43d 100644 --- a/fs/gfs2/log.c +++ b/fs/gfs2/log.c | |||
@@ -18,6 +18,7 @@ | |||
18 | #include <linux/kthread.h> | 18 | #include <linux/kthread.h> |
19 | #include <linux/freezer.h> | 19 | #include <linux/freezer.h> |
20 | #include <linux/bio.h> | 20 | #include <linux/bio.h> |
21 | #include <linux/blkdev.h> | ||
21 | #include <linux/writeback.h> | 22 | #include <linux/writeback.h> |
22 | #include <linux/list_sort.h> | 23 | #include <linux/list_sort.h> |
23 | 24 | ||
@@ -145,8 +146,10 @@ void gfs2_ail1_flush(struct gfs2_sbd *sdp, struct writeback_control *wbc) | |||
145 | { | 146 | { |
146 | struct list_head *head = &sdp->sd_ail1_list; | 147 | struct list_head *head = &sdp->sd_ail1_list; |
147 | struct gfs2_trans *tr; | 148 | struct gfs2_trans *tr; |
149 | struct blk_plug plug; | ||
148 | 150 | ||
149 | trace_gfs2_ail_flush(sdp, wbc, 1); | 151 | trace_gfs2_ail_flush(sdp, wbc, 1); |
152 | blk_start_plug(&plug); | ||
150 | spin_lock(&sdp->sd_ail_lock); | 153 | spin_lock(&sdp->sd_ail_lock); |
151 | restart: | 154 | restart: |
152 | list_for_each_entry_reverse(tr, head, tr_list) { | 155 | list_for_each_entry_reverse(tr, head, tr_list) { |
@@ -156,6 +159,7 @@ restart: | |||
156 | goto restart; | 159 | goto restart; |
157 | } | 160 | } |
158 | spin_unlock(&sdp->sd_ail_lock); | 161 | spin_unlock(&sdp->sd_ail_lock); |
162 | blk_finish_plug(&plug); | ||
159 | trace_gfs2_ail_flush(sdp, wbc, 0); | 163 | trace_gfs2_ail_flush(sdp, wbc, 0); |
160 | } | 164 | } |
161 | 165 | ||