GNU Linux-libre 6.9-gnu
[releases.git] / fs / btrfs / props.h
1 /* SPDX-License-Identifier: GPL-2.0 */
2 /*
3  * Copyright (C) 2014 Filipe David Borba Manana <fdmanana@gmail.com>
4  */
5
6 #ifndef BTRFS_PROPS_H
7 #define BTRFS_PROPS_H
8
9 #include <linux/compiler_types.h>
10
11 struct inode;
12 struct btrfs_inode;
13 struct btrfs_path;
14 struct btrfs_trans_handle;
15
16 int __init btrfs_props_init(void);
17
18 int btrfs_set_prop(struct btrfs_trans_handle *trans, struct inode *inode,
19                    const char *name, const char *value, size_t value_len,
20                    int flags);
21 int btrfs_validate_prop(const struct btrfs_inode *inode, const char *name,
22                         const char *value, size_t value_len);
23 bool btrfs_ignore_prop(const struct btrfs_inode *inode, const char *name);
24
25 int btrfs_load_inode_props(struct inode *inode, struct btrfs_path *path);
26
27 int btrfs_inode_inherit_props(struct btrfs_trans_handle *trans,
28                               struct inode *inode,
29                               struct inode *dir);
30
31 #endif