1/* SPDX-License-Identifier: GPL-2.0 */ 2#ifndef _BCACHEFS_FS_COMMON_H 3#define _BCACHEFS_FS_COMMON_H 4 5struct posix_acl; 6 7#define BCH_CREATE_TMPFILE (1U << 0) 8#define BCH_CREATE_SUBVOL (1U << 1) 9#define BCH_CREATE_SNAPSHOT (1U << 2) 10#define BCH_CREATE_SNAPSHOT_RO (1U << 3) 11 12int bch2_create_trans(struct btree_trans *, subvol_inum, 13 struct bch_inode_unpacked *, 14 struct bch_inode_unpacked *, 15 const struct qstr *, 16 uid_t, gid_t, umode_t, dev_t, 17 struct posix_acl *, 18 struct posix_acl *, 19 subvol_inum, unsigned); 20 21int bch2_link_trans(struct btree_trans *, 22 subvol_inum, struct bch_inode_unpacked *, 23 subvol_inum, struct bch_inode_unpacked *, 24 const struct qstr *); 25 26int bch2_unlink_trans(struct btree_trans *, subvol_inum, 27 struct bch_inode_unpacked *, 28 struct bch_inode_unpacked *, 29 const struct qstr *, bool); 30 31int bch2_rename_trans(struct btree_trans *, 32 subvol_inum, struct bch_inode_unpacked *, 33 subvol_inum, struct bch_inode_unpacked *, 34 struct bch_inode_unpacked *, 35 struct bch_inode_unpacked *, 36 const struct qstr *, 37 const struct qstr *, 38 enum bch_rename_mode); 39 40bool bch2_reinherit_attrs(struct bch_inode_unpacked *, 41 struct bch_inode_unpacked *); 42 43#endif /* _BCACHEFS_FS_COMMON_H */ 44