On Tue, Jul 02, 2024 at 07:32:38AM +0200, Christoph Hellwig wrote: > > +struct histent > > +{ > > The braces goes to the previous line for our normal coding style. > > Also the naming with histend/histogram the naming seems a bit too > generic for something very block specific. Should the naming be > adjusted a bit? Hmm. Either we prefix everything with space, e.g. "struct space_histogram" and "int spacehist_add(...)"... Or change "blocks" to "value" and "extents" to "observations": struct histent { /* Low and high size of this bucket */ long long low; long long high; /* Count of observations recorded */ long long nr_observations; /* Sum of values recorded */ long long sum_values; }; struct histogram { /* Sum of all values recorded */ long long tot_values; /* Count of all observations recorded */ long long tot_observations; struct histent *buckets; /* Number of buckets */ unsigned int nr_buckets; }; int hist_add_bucket(struct histogram *hs, long long bucket_low); void hist_add(struct histogram *hs, long long value); void hist_prepare(struct histogram *hs, long long maxvalue); and then hist_print/hist_summarize would have to be told the units of the values ("blocks") and the units of the observations ("extents") to print to stdout. The first option is a bit lazy since there's nothing really diskspace specific about the histogram other than the printf labels; and the second option is more generic but maybe we should let the first non-space histogram user figure out how to do that? <shrug> Your thoughts? --D