diff options
author | Dave Airlie <airlied@redhat.com> | 2018-09-26 21:06:46 -0400 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2018-09-26 21:06:46 -0400 |
commit | bf78296ab1cb215d0609ac6cff4e43e941e51265 (patch) | |
tree | a193615b327d9ee538e71ca5f13bbfb4f3db4e6b /mm/backing-dev.c | |
parent | 18eb2f6e19d77900695987e3a2b775cccbe5b84e (diff) | |
parent | 6bf4ca7fbc85d80446ac01c0d1d77db4d91a6d84 (diff) |
BackMerge v4.19-rc5 into drm-next
Sean Paul requested an -rc5 backmerge from some sun4i fixes.
Signed-off-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'mm/backing-dev.c')
-rw-r--r-- | mm/backing-dev.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/mm/backing-dev.c b/mm/backing-dev.c index f5981e9d6ae2..8a8bb8796c6c 100644 --- a/mm/backing-dev.c +++ b/mm/backing-dev.c | |||
@@ -491,6 +491,7 @@ static void cgwb_release_workfn(struct work_struct *work) | |||
491 | { | 491 | { |
492 | struct bdi_writeback *wb = container_of(work, struct bdi_writeback, | 492 | struct bdi_writeback *wb = container_of(work, struct bdi_writeback, |
493 | release_work); | 493 | release_work); |
494 | struct blkcg *blkcg = css_to_blkcg(wb->blkcg_css); | ||
494 | 495 | ||
495 | mutex_lock(&wb->bdi->cgwb_release_mutex); | 496 | mutex_lock(&wb->bdi->cgwb_release_mutex); |
496 | wb_shutdown(wb); | 497 | wb_shutdown(wb); |
@@ -499,6 +500,9 @@ static void cgwb_release_workfn(struct work_struct *work) | |||
499 | css_put(wb->blkcg_css); | 500 | css_put(wb->blkcg_css); |
500 | mutex_unlock(&wb->bdi->cgwb_release_mutex); | 501 | mutex_unlock(&wb->bdi->cgwb_release_mutex); |
501 | 502 | ||
503 | /* triggers blkg destruction if cgwb_refcnt becomes zero */ | ||
504 | blkcg_cgwb_put(blkcg); | ||
505 | |||
502 | fprop_local_destroy_percpu(&wb->memcg_completions); | 506 | fprop_local_destroy_percpu(&wb->memcg_completions); |
503 | percpu_ref_exit(&wb->refcnt); | 507 | percpu_ref_exit(&wb->refcnt); |
504 | wb_exit(wb); | 508 | wb_exit(wb); |
@@ -597,6 +601,7 @@ static int cgwb_create(struct backing_dev_info *bdi, | |||
597 | list_add_tail_rcu(&wb->bdi_node, &bdi->wb_list); | 601 | list_add_tail_rcu(&wb->bdi_node, &bdi->wb_list); |
598 | list_add(&wb->memcg_node, memcg_cgwb_list); | 602 | list_add(&wb->memcg_node, memcg_cgwb_list); |
599 | list_add(&wb->blkcg_node, blkcg_cgwb_list); | 603 | list_add(&wb->blkcg_node, blkcg_cgwb_list); |
604 | blkcg_cgwb_get(blkcg); | ||
600 | css_get(memcg_css); | 605 | css_get(memcg_css); |
601 | css_get(blkcg_css); | 606 | css_get(blkcg_css); |
602 | } | 607 | } |