xref: /linux/fs/btrfs/props.h (revision a1ff5a7d78a036d6c2178ee5acd6ba4946243800)
19888c340SDavid Sterba /* SPDX-License-Identifier: GPL-2.0 */
263541927SFilipe David Borba Manana /*
363541927SFilipe David Borba Manana  * Copyright (C) 2014 Filipe David Borba Manana <fdmanana@gmail.com>
463541927SFilipe David Borba Manana  */
563541927SFilipe David Borba Manana 
69888c340SDavid Sterba #ifndef BTRFS_PROPS_H
79888c340SDavid Sterba #define BTRFS_PROPS_H
863541927SFilipe David Borba Manana 
922b46bdcSDavid Sterba #include <linux/compiler_types.h>
1022b46bdcSDavid Sterba 
1122b46bdcSDavid Sterba struct inode;
1222b46bdcSDavid Sterba struct btrfs_inode;
1322b46bdcSDavid Sterba struct btrfs_path;
1422b46bdcSDavid Sterba struct btrfs_trans_handle;
1563541927SFilipe David Borba Manana 
165565b8e0SQu Wenruo int __init btrfs_props_init(void);
1763541927SFilipe David Borba Manana 
18*0d9b7e16SDavid Sterba int btrfs_set_prop(struct btrfs_trans_handle *trans, struct btrfs_inode *inode,
19cd31af15SAnand Jain 		   const char *name, const char *value, size_t value_len,
20cd31af15SAnand Jain 		   int flags);
210e852ab8SChung-Chiang Cheng int btrfs_validate_prop(const struct btrfs_inode *inode, const char *name,
220e852ab8SChung-Chiang Cheng 			const char *value, size_t value_len);
234b73c55fSFilipe Manana bool btrfs_ignore_prop(const struct btrfs_inode *inode, const char *name);
2463541927SFilipe David Borba Manana 
2563541927SFilipe David Borba Manana int btrfs_load_inode_props(struct inode *inode, struct btrfs_path *path);
2663541927SFilipe David Borba Manana 
2763541927SFilipe David Borba Manana int btrfs_inode_inherit_props(struct btrfs_trans_handle *trans,
2863541927SFilipe David Borba Manana 			      struct inode *inode,
292917f741SDavid Sterba 			      const struct inode *dir);
3063541927SFilipe David Borba Manana 
3163541927SFilipe David Borba Manana #endif
32