diff options
author | Tejun Heo <tj@kernel.org> | 2015-05-22 17:13:34 -0400 |
---|---|---|
committer | Jens Axboe <axboe@fb.com> | 2015-06-02 10:33:35 -0400 |
commit | 8395cd9f813d5d7ed9870e642230acfcfc1e8a0a (patch) | |
tree | 0257c02cee5027ccad0fed3e3c9ffb30f1bb1067 /mm/backing-dev.c | |
parent | a212b105b07d75b48b1a166378282e8a77fbf53d (diff) |
writeback: add @gfp to wb_init()
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>
Diffstat (limited to 'mm/backing-dev.c')
-rw-r--r-- | mm/backing-dev.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/mm/backing-dev.c b/mm/backing-dev.c index b0707d1b1d38..805b2870ca4e 100644 --- a/mm/backing-dev.c +++ b/mm/backing-dev.c | |||
@@ -291,7 +291,8 @@ void wb_wakeup_delayed(struct bdi_writeback *wb) | |||
291 | */ | 291 | */ |
292 | #define INIT_BW (100 << (20 - PAGE_SHIFT)) | 292 | #define INIT_BW (100 << (20 - PAGE_SHIFT)) |
293 | 293 | ||
294 | static int wb_init(struct bdi_writeback *wb, struct backing_dev_info *bdi) | 294 | static int wb_init(struct bdi_writeback *wb, struct backing_dev_info *bdi, |
295 | gfp_t gfp) | ||
295 | { | 296 | { |
296 | int i, err; | 297 | int i, err; |
297 | 298 | ||
@@ -315,12 +316,12 @@ static int wb_init(struct bdi_writeback *wb, struct backing_dev_info *bdi) | |||
315 | INIT_LIST_HEAD(&wb->work_list); | 316 | INIT_LIST_HEAD(&wb->work_list); |
316 | INIT_DELAYED_WORK(&wb->dwork, wb_workfn); | 317 | INIT_DELAYED_WORK(&wb->dwork, wb_workfn); |
317 | 318 | ||
318 | err = fprop_local_init_percpu(&wb->completions, GFP_KERNEL); | 319 | err = fprop_local_init_percpu(&wb->completions, gfp); |
319 | if (err) | 320 | if (err) |
320 | return err; | 321 | return err; |
321 | 322 | ||
322 | for (i = 0; i < NR_WB_STAT_ITEMS; i++) { | 323 | for (i = 0; i < NR_WB_STAT_ITEMS; i++) { |
323 | err = percpu_counter_init(&wb->stat[i], 0, GFP_KERNEL); | 324 | err = percpu_counter_init(&wb->stat[i], 0, gfp); |
324 | if (err) { | 325 | if (err) { |
325 | while (--i) | 326 | while (--i) |
326 | percpu_counter_destroy(&wb->stat[i]); | 327 | percpu_counter_destroy(&wb->stat[i]); |
@@ -378,7 +379,7 @@ int bdi_init(struct backing_dev_info *bdi) | |||
378 | bdi->max_prop_frac = FPROP_FRAC_BASE; | 379 | bdi->max_prop_frac = FPROP_FRAC_BASE; |
379 | INIT_LIST_HEAD(&bdi->bdi_list); | 380 | INIT_LIST_HEAD(&bdi->bdi_list); |
380 | 381 | ||
381 | err = wb_init(&bdi->wb, bdi); | 382 | err = wb_init(&bdi->wb, bdi, GFP_KERNEL); |
382 | if (err) | 383 | if (err) |
383 | return err; | 384 | return err; |
384 | 385 | ||