2525
2626#include <linux/preempt.h>
2727
28- static inline void fs_usage_data_type_to_base (struct bch_fs_usage * fs_usage ,
28+ static inline void fs_usage_data_type_to_base (struct bch_fs_usage_base * fs_usage ,
2929 enum bch_data_type data_type ,
3030 s64 sectors )
3131{
@@ -54,20 +54,20 @@ void bch2_fs_usage_initialize(struct bch_fs *c)
5454 bch2_fs_usage_acc_to_base (c , i );
5555
5656 for (unsigned i = 0 ; i < BCH_REPLICAS_MAX ; i ++ )
57- usage -> reserved += usage -> persistent_reserved [i ];
57+ usage -> b . reserved += usage -> persistent_reserved [i ];
5858
5959 for (unsigned i = 0 ; i < c -> replicas .nr ; i ++ ) {
6060 struct bch_replicas_entry_v1 * e =
6161 cpu_replicas_entry (& c -> replicas , i );
6262
63- fs_usage_data_type_to_base (usage , e -> data_type , usage -> replicas [i ]);
63+ fs_usage_data_type_to_base (& usage -> b , e -> data_type , usage -> replicas [i ]);
6464 }
6565
6666 for_each_member_device (c , ca ) {
6767 struct bch_dev_usage dev = bch2_dev_usage_read (ca );
6868
69- usage -> hidden += (dev .d [BCH_DATA_sb ].buckets +
70- dev .d [BCH_DATA_journal ].buckets ) *
69+ usage -> b . hidden += (dev .d [BCH_DATA_sb ].buckets +
70+ dev .d [BCH_DATA_journal ].buckets ) *
7171 ca -> mi .bucket_size ;
7272 }
7373
@@ -188,15 +188,15 @@ void bch2_fs_usage_to_text(struct printbuf *out,
188188 prt_printf (out , "capacity:\t\t\t%llu\n" , c -> capacity );
189189
190190 prt_printf (out , "hidden:\t\t\t\t%llu\n" ,
191- fs_usage -> u .hidden );
191+ fs_usage -> u .b . hidden );
192192 prt_printf (out , "data:\t\t\t\t%llu\n" ,
193- fs_usage -> u .data );
193+ fs_usage -> u .b . data );
194194 prt_printf (out , "cached:\t\t\t\t%llu\n" ,
195- fs_usage -> u .cached );
195+ fs_usage -> u .b . cached );
196196 prt_printf (out , "reserved:\t\t\t%llu\n" ,
197- fs_usage -> u .reserved );
197+ fs_usage -> u .b . reserved );
198198 prt_printf (out , "nr_inodes:\t\t\t%llu\n" ,
199- fs_usage -> u .nr_inodes );
199+ fs_usage -> u .b . nr_inodes );
200200 prt_printf (out , "online reserved:\t\t%llu\n" ,
201201 fs_usage -> online_reserved );
202202
@@ -225,10 +225,10 @@ static u64 reserve_factor(u64 r)
225225
226226u64 bch2_fs_sectors_used (struct bch_fs * c , struct bch_fs_usage_online * fs_usage )
227227{
228- return min (fs_usage -> u .hidden +
229- fs_usage -> u .btree +
230- fs_usage -> u .data +
231- reserve_factor (fs_usage -> u .reserved +
228+ return min (fs_usage -> u .b . hidden +
229+ fs_usage -> u .b . btree +
230+ fs_usage -> u .b . data +
231+ reserve_factor (fs_usage -> u .b . reserved +
232232 fs_usage -> online_reserved ),
233233 c -> capacity );
234234}
@@ -240,17 +240,17 @@ __bch2_fs_usage_read_short(struct bch_fs *c)
240240 u64 data , reserved ;
241241
242242 ret .capacity = c -> capacity -
243- bch2_fs_usage_read_one (c , & c -> usage_base -> hidden );
243+ bch2_fs_usage_read_one (c , & c -> usage_base -> b . hidden );
244244
245- data = bch2_fs_usage_read_one (c , & c -> usage_base -> data ) +
246- bch2_fs_usage_read_one (c , & c -> usage_base -> btree );
247- reserved = bch2_fs_usage_read_one (c , & c -> usage_base -> reserved ) +
245+ data = bch2_fs_usage_read_one (c , & c -> usage_base -> b . data ) +
246+ bch2_fs_usage_read_one (c , & c -> usage_base -> b . btree );
247+ reserved = bch2_fs_usage_read_one (c , & c -> usage_base -> b . reserved ) +
248248 percpu_u64_get (c -> online_reserved );
249249
250250 ret .used = min (ret .capacity , data + reserve_factor (reserved ));
251251 ret .free = ret .capacity - ret .used ;
252252
253- ret .nr_inodes = bch2_fs_usage_read_one (c , & c -> usage_base -> nr_inodes );
253+ ret .nr_inodes = bch2_fs_usage_read_one (c , & c -> usage_base -> b . nr_inodes );
254254
255255 return ret ;
256256}
@@ -308,9 +308,9 @@ void bch2_dev_usage_update(struct bch_fs *c, struct bch_dev *ca,
308308 fs_usage = fs_usage_ptr (c , journal_seq , gc );
309309
310310 if (data_type_is_hidden (old -> data_type ))
311- fs_usage -> hidden -= ca -> mi .bucket_size ;
311+ fs_usage -> b . hidden -= ca -> mi .bucket_size ;
312312 if (data_type_is_hidden (new -> data_type ))
313- fs_usage -> hidden += ca -> mi .bucket_size ;
313+ fs_usage -> b . hidden += ca -> mi .bucket_size ;
314314
315315 u = dev_usage_ptr (ca , journal_seq , gc );
316316
@@ -359,7 +359,7 @@ static inline int __update_replicas(struct bch_fs *c,
359359 if (idx < 0 )
360360 return -1 ;
361361
362- fs_usage_data_type_to_base (fs_usage , r -> data_type , sectors );
362+ fs_usage_data_type_to_base (& fs_usage -> b , r -> data_type , sectors );
363363 fs_usage -> replicas [idx ] += sectors ;
364364 return 0 ;
365365}
@@ -394,7 +394,7 @@ int bch2_update_replicas(struct bch_fs *c, struct bkey_s_c k,
394394
395395 preempt_disable ();
396396 fs_usage = fs_usage_ptr (c , journal_seq , gc );
397- fs_usage_data_type_to_base (fs_usage , r -> data_type , sectors );
397+ fs_usage_data_type_to_base (& fs_usage -> b , r -> data_type , sectors );
398398 fs_usage -> replicas [idx ] += sectors ;
399399 preempt_enable ();
400400err :
@@ -677,11 +677,11 @@ void bch2_trans_fs_usage_revert(struct btree_trans *trans,
677677 BUG_ON (__update_replicas (c , dst , & d -> r , - d -> delta ));
678678 }
679679
680- dst -> nr_inodes -= deltas -> nr_inodes ;
680+ dst -> b . nr_inodes -= deltas -> nr_inodes ;
681681
682682 for (i = 0 ; i < BCH_REPLICAS_MAX ; i ++ ) {
683683 added -= deltas -> persistent_reserved [i ];
684- dst -> reserved -= deltas -> persistent_reserved [i ];
684+ dst -> b . reserved -= deltas -> persistent_reserved [i ];
685685 dst -> persistent_reserved [i ] -= deltas -> persistent_reserved [i ];
686686 }
687687
@@ -723,11 +723,11 @@ int bch2_trans_fs_usage_apply(struct btree_trans *trans,
723723 goto need_mark ;
724724 }
725725
726- dst -> nr_inodes += deltas -> nr_inodes ;
726+ dst -> b . nr_inodes += deltas -> nr_inodes ;
727727
728728 for (i = 0 ; i < BCH_REPLICAS_MAX ; i ++ ) {
729729 added += deltas -> persistent_reserved [i ];
730- dst -> reserved += deltas -> persistent_reserved [i ];
730+ dst -> b . reserved += deltas -> persistent_reserved [i ];
731731 dst -> persistent_reserved [i ] += deltas -> persistent_reserved [i ];
732732 }
733733
@@ -1084,7 +1084,7 @@ static int __trigger_reservation(struct btree_trans *trans,
10841084 struct bch_fs_usage * fs_usage = this_cpu_ptr (c -> usage_gc );
10851085
10861086 replicas = min (replicas , ARRAY_SIZE (fs_usage -> persistent_reserved ));
1087- fs_usage -> reserved += sectors ;
1087+ fs_usage -> b . reserved += sectors ;
10881088 fs_usage -> persistent_reserved [replicas - 1 ] += sectors ;
10891089
10901090 preempt_enable ();
0 commit comments