xref: /linux/fs/bcachefs/logged_ops_format.h (revision 2622f290417001b0440f4a48dc6978f5f1e12a56)
1 /* SPDX-License-Identifier: GPL-2.0 */
2 #ifndef _BCACHEFS_LOGGED_OPS_FORMAT_H
3 #define _BCACHEFS_LOGGED_OPS_FORMAT_H
4 
5 enum logged_ops_inums {
6 	LOGGED_OPS_INUM_logged_ops,
7 	LOGGED_OPS_INUM_inode_cursors,
8 };
9 
10 struct bch_logged_op_truncate {
11 	struct bch_val		v;
12 	__le32			subvol;
13 	__le32			pad;
14 	__le64			inum;
15 	__le64			new_i_size;
16 };
17 
18 enum logged_op_finsert_state {
19 	LOGGED_OP_FINSERT_start,
20 	LOGGED_OP_FINSERT_shift_extents,
21 	LOGGED_OP_FINSERT_finish,
22 };
23 
24 struct bch_logged_op_finsert {
25 	struct bch_val		v;
26 	__u8			state;
27 	__u8			pad[3];
28 	__le32			subvol;
29 	__le64			inum;
30 	__le64			dst_offset;
31 	__le64			src_offset;
32 	__le64			pos;
33 };
34 
35 #endif /* _BCACHEFS_LOGGED_OPS_FORMAT_H */
36