writeback: add @gfp to wb_init()
authorTejun Heo <tj@kernel.org>
Fri, 22 May 2015 21:13:34 +0000 (17:13 -0400)
committerJens Axboe <axboe@fb.com>
Tue, 2 Jun 2015 14:33:35 +0000 (08:33 -0600)
wb_init() currently always uses GFP_KERNEL but the planned cgroup
writeback support needs using other allocation masks.  Add @gfp to
wb_init().

This patch doesn't introduce any behavior changes.

Signed-off-by: Tejun Heo <tj@kernel.org>
Reviewed-by: Jan Kara <jack@suse.cz>
Cc: Jens Axboe <axboe@kernel.dk>
Signed-off-by: Jens Axboe <axboe@fb.com>
mm/backing-dev.c

index b0707d1b1d38d2aa8c20fa2bb5c734c7979a58b0..805b2870ca4e712ab73b893842791efcb39e092a 100644 (file)
@@ -291,7 +291,8 @@ void wb_wakeup_delayed(struct bdi_writeback *wb)
  */
 #define INIT_BW                (100 << (20 - PAGE_SHIFT))
 
-static int wb_init(struct bdi_writeback *wb, struct backing_dev_info *bdi)
+static int wb_init(struct bdi_writeback *wb, struct backing_dev_info *bdi,
+                  gfp_t gfp)
 {
        int i, err;
 
@@ -315,12 +316,12 @@ static int wb_init(struct bdi_writeback *wb, struct backing_dev_info *bdi)
        INIT_LIST_HEAD(&wb->work_list);
        INIT_DELAYED_WORK(&wb->dwork, wb_workfn);
 
-       err = fprop_local_init_percpu(&wb->completions, GFP_KERNEL);
+       err = fprop_local_init_percpu(&wb->completions, gfp);
        if (err)
                return err;
 
        for (i = 0; i < NR_WB_STAT_ITEMS; i++) {
-               err = percpu_counter_init(&wb->stat[i], 0, GFP_KERNEL);
+               err = percpu_counter_init(&wb->stat[i], 0, gfp);
                if (err) {
                        while (--i)
                                percpu_counter_destroy(&wb->stat[i]);
@@ -378,7 +379,7 @@ int bdi_init(struct backing_dev_info *bdi)
        bdi->max_prop_frac = FPROP_FRAC_BASE;
        INIT_LIST_HEAD(&bdi->bdi_list);
 
-       err = wb_init(&bdi->wb, bdi);
+       err = wb_init(&bdi->wb, bdi, GFP_KERNEL);
        if (err)
                return err;