+/* SPDX-License-Identifier: GPL-2.0 */
#ifndef _BCACHEFS_SUPER_TYPES_H
#define _BCACHEFS_SUPER_TYPES_H
struct bio *bio;
unsigned page_order;
fmode_t mode;
+ unsigned have_layout:1;
+ unsigned have_bio:1;
+ unsigned fs_sb:1;
+ u64 seq;
};
struct bch_devs_mask {
struct bch_devs_list {
u8 nr;
- u8 devs[BCH_REPLICAS_MAX];
+ u8 devs[BCH_REPLICAS_MAX + 1];
};
struct bch_member_cpu {
u16 bucket_size; /* sectors */
u16 group;
u8 state;
- u8 tier;
u8 replacement;
u8 discard;
u8 data_allowed;
+ u8 durability;
u8 valid;
};
-struct bch_replicas_cpu_entry {
- u8 data_type;
- u8 devs[BCH_SB_MEMBERS_MAX / 8];
-};
-
-struct bch_replicas_cpu {
- struct rcu_head rcu;
- unsigned nr;
- unsigned entry_size;
- struct bch_replicas_cpu_entry entries[];
-};
-
struct bch_disk_group_cpu {
- struct bch_devs_mask devs;
bool deleted;
+ u16 parent;
+ struct bch_devs_mask devs;
};
struct bch_disk_groups_cpu {