summaryrefslogtreecommitdiff
path: root/fs/bcachefs/replicas_types.h
blob: ac90d142c4e87dde7d5df8753937e6ae0f0cb440 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
/* SPDX-License-Identifier: GPL-2.0 */
#ifndef _BCACHEFS_REPLICAS_TYPES_H
#define _BCACHEFS_REPLICAS_TYPES_H

struct bch_replicas_cpu {
	unsigned		nr;
	unsigned		entry_size;
	struct bch_replicas_entry_v1 *entries;
};

struct replicas_delta {
	s64			delta;
	struct bch_replicas_entry_v1 r;
} __packed;

struct replicas_delta_list {
	unsigned		size;
	unsigned		used;

	struct			{} memset_start;
	u64			nr_inodes;
	u64			persistent_reserved[BCH_REPLICAS_MAX];
	struct			{} memset_end;
	struct replicas_delta	d[];
};

#endif /* _BCACHEFS_REPLICAS_TYPES_H */