diff options
Diffstat (limited to 'fs/bcachefs/subvolume_types.h')
-rw-r--r-- | fs/bcachefs/subvolume_types.h | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/fs/bcachefs/subvolume_types.h b/fs/bcachefs/subvolume_types.h new file mode 100644 index 000000000000..86833445af20 --- /dev/null +++ b/fs/bcachefs/subvolume_types.h @@ -0,0 +1,31 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +#ifndef _BCACHEFS_SUBVOLUME_TYPES_H +#define _BCACHEFS_SUBVOLUME_TYPES_H + +#include "darray.h" + +typedef DARRAY(u32) snapshot_id_list; + +#define IS_ANCESTOR_BITMAP 128 + +struct snapshot_t { + u32 parent; + u32 skip[3]; + u32 depth; + u32 children[2]; + u32 subvol; /* Nonzero only if a subvolume points to this node: */ + u32 tree; + u32 equiv; + unsigned long is_ancestor[BITS_TO_LONGS(IS_ANCESTOR_BITMAP)]; +}; + +struct snapshot_table { + struct snapshot_t s[0]; +}; + +typedef struct { + u32 subvol; + u64 inum; +} subvol_inum; + +#endif /* _BCACHEFS_SUBVOLUME_TYPES_H */ |