Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e09cee7e authored by Linux Build Service Account's avatar Linux Build Service Account Committed by Gerrit - the friendly Code Review server
Browse files

Merge "bdi: Make wb->bdi a proper reference"

parents bb86d371 4550240b
Loading
Loading
Loading
Loading
+11 −2
Original line number Diff line number Diff line
@@ -294,6 +294,8 @@ static int wb_init(struct bdi_writeback *wb, struct backing_dev_info *bdi,

	memset(wb, 0, sizeof(*wb));

	if (wb != &bdi->wb)
		bdi_get(bdi);
	wb->bdi = bdi;
	wb->last_old_flush = jiffies;
	INIT_LIST_HEAD(&wb->b_dirty);
@@ -313,8 +315,10 @@ static int wb_init(struct bdi_writeback *wb, struct backing_dev_info *bdi,
	INIT_DELAYED_WORK(&wb->dwork, wb_workfn);

	wb->congested = wb_congested_get_create(bdi, blkcg_id, gfp);
	if (!wb->congested)
		return -ENOMEM;
	if (!wb->congested) {
		err = -ENOMEM;
		goto out_put_bdi;
	}

	err = fprop_local_init_percpu(&wb->completions, gfp);
	if (err)
@@ -334,6 +338,9 @@ static int wb_init(struct bdi_writeback *wb, struct backing_dev_info *bdi,
	fprop_local_destroy_percpu(&wb->completions);
out_put_cong:
	wb_congested_put(wb->congested);
out_put_bdi:
	if (wb != &bdi->wb)
		bdi_put(bdi);
	return err;
}

@@ -371,6 +378,8 @@ static void wb_exit(struct bdi_writeback *wb)

	fprop_local_destroy_percpu(&wb->completions);
	wb_congested_put(wb->congested);
	if (wb != &wb->bdi->wb)
		bdi_put(wb->bdi);
}

#ifdef CONFIG_CGROUP_WRITEBACK