Lines Matching defs:bdi_writeback
105 struct bdi_writeback { struct
106 struct backing_dev_info *bdi; /* our parent bdi */
108 unsigned long state; /* Always use atomic bitops on this */
109 unsigned long last_old_flush; /* last old data flush */
111 struct list_head b_dirty; /* dirty inodes */
112 struct list_head b_io; /* parked for writeback */
113 struct list_head b_more_io; /* parked for more writeback */
114 struct list_head b_dirty_time; /* time stamps are dirty */
115 spinlock_t list_lock; /* protects the b_* lists */
117 atomic_t writeback_inodes; /* number of inodes under writeback */
118 struct percpu_counter stat[NR_WB_STAT_ITEMS];
120 unsigned long bw_time_stamp; /* last time write bw is updated */
121 unsigned long dirtied_stamp;
122 unsigned long written_stamp; /* pages written at bw_time_stamp */
123 unsigned long write_bandwidth; /* the estimated write bandwidth */
124 unsigned long avg_write_bandwidth; /* further smoothed write bw, > 0 */
132 unsigned long dirty_ratelimit;
133 unsigned long balanced_dirty_ratelimit;
135 struct fprop_local_percpu completions;
136 int dirty_exceeded;
137 enum wb_reason start_all_reason;
139 spinlock_t work_lock; /* protects work_list & dwork scheduling */
140 struct list_head work_list;
141 struct delayed_work dwork; /* work item used for writeback */
142 struct delayed_work bw_dwork; /* work item used for bandwidth estimate */
144 struct list_head bdi_node; /* anchored at bdi->wb_list */
147 struct percpu_ref refcnt; /* used only for !root wb's */
148 struct fprop_local_percpu memcg_completions;
149 struct cgroup_subsys_state *memcg_css; /* the associated memcg */
150 struct cgroup_subsys_state *blkcg_css; /* and blkcg */
151 struct list_head memcg_node; /* anchored at memcg->cgwb_list */
152 struct list_head blkcg_node; /* anchored at blkcg->cgwb_list */
153 struct list_head b_attached; /* attached inodes, protected by list_lock */
154 struct list_head offline_node; /* anchored at offline_cgwbs */
156 union {