Use filemap_fdatawrite_wbc instead of generic_writepages in
gfs2_ail1_start_one so that the functin can also cope with address_space
operations that only implement ->writepages and to properly account
for cgroup writeback.

Signed-off-by: Christoph Hellwig <h...@lst.de>
Reviewed-by: Andreas Gruenbacher <agrue...@redhat.com>
---
 fs/gfs2/log.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/fs/gfs2/log.c b/fs/gfs2/log.c
index f0ee3ff6f9a87..a66e3b1f6d178 100644
--- a/fs/gfs2/log.c
+++ b/fs/gfs2/log.c
@@ -131,7 +131,7 @@ __acquires(&sdp->sd_ail_lock)
                if (!mapping)
                        continue;
                spin_unlock(&sdp->sd_ail_lock);
-               ret = generic_writepages(mapping, wbc);
+               ret = filemap_fdatawrite_wbc(mapping, wbc);
                if (need_resched()) {
                        blk_finish_plug(plug);
                        cond_resched();
@@ -222,8 +222,7 @@ void gfs2_ail1_flush(struct gfs2_sbd *sdp, struct 
writeback_control *wbc)
        spin_unlock(&sdp->sd_ail_lock);
        blk_finish_plug(&plug);
        if (ret) {
-               gfs2_lm(sdp, "gfs2_ail1_start_one (generic_writepages) "
-                       "returned: %d\n", ret);
+               gfs2_lm(sdp, "gfs2_ail1_start_one returned: %d\n", ret);
                gfs2_withdraw(sdp);
        }
        trace_gfs2_ail_flush(sdp, wbc, 0);
-- 
2.30.2

Reply via email to