On Fri 22-05-15 17:13:50, Tejun Heo wrote: > This will be used to implement bdi-wide operations which should be > distributed across all its cgroup bdi_writebacks. > > Signed-off-by: Tejun Heo <t...@kernel.org> > Cc: Jens Axboe <ax...@kernel.dk> > Cc: Jan Kara <j...@suse.cz>
One comment below. > @@ -445,6 +500,14 @@ static inline void wb_blkcg_offline(struct blkcg *blkcg) > { > } > > +struct wb_iter { > + int next_id; > +}; > + > +#define bdi_for_each_wb(wb_cur, bdi, iter, start_blkcg_id) \ > + for ((iter)->next_id = (start_blkcg_id); \ > + ({ (wb_cur) = !(iter)->next_id++ ? &(bdi)->wb : NULL; }); ) > + This looks quite confusing. Won't it be easier to understand as: struct wb_iter { } __attribute__ ((unused)); #define bdi_for_each_wb(wb_cur, bdi, iter, start_blkcg_id) \ if (((wb_cur) = (!start_blkcg_id ? &(bdi)->wb : NULL))) Honza -- Jan Kara <j...@suse.cz> SUSE Labs, CR -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/