1 /* SPDX-License-Identifier: GPL-2.0 */ 2 #ifndef _BCACHEFS_IO_MISC_H 3 #define _BCACHEFS_IO_MISC_H 4 5 int bch2_extent_fallocate(struct btree_trans *, subvol_inum, struct btree_iter *, 6 u64, struct bch_io_opts, s64 *, 7 struct write_point_specifier); 8 int bch2_fpunch_at(struct btree_trans *, struct btree_iter *, 9 subvol_inum, u64, s64 *); 10 int bch2_fpunch(struct bch_fs *c, subvol_inum, u64, u64, s64 *); 11 12 void bch2_logged_op_truncate_to_text(struct printbuf *, struct bch_fs *, struct bkey_s_c); 13 14 #define bch2_bkey_ops_logged_op_truncate ((struct bkey_ops) { \ 15 .val_to_text = bch2_logged_op_truncate_to_text, \ 16 .min_val_size = 24, \ 17 }) 18 19 int bch2_resume_logged_op_truncate(struct btree_trans *, struct bkey_i *); 20 21 int bch2_truncate(struct bch_fs *, subvol_inum, u64, u64 *); 22 23 void bch2_logged_op_finsert_to_text(struct printbuf *, struct bch_fs *, struct bkey_s_c); 24 25 #define bch2_bkey_ops_logged_op_finsert ((struct bkey_ops) { \ 26 .val_to_text = bch2_logged_op_finsert_to_text, \ 27 .min_val_size = 24, \ 28 }) 29 30 int bch2_resume_logged_op_finsert(struct btree_trans *, struct bkey_i *); 31 32 int bch2_fcollapse_finsert(struct bch_fs *, subvol_inum, u64, u64, bool, s64 *); 33 34 #endif /* _BCACHEFS_IO_MISC_H */ 35