xref: /linux/fs/xfs/libxfs/xfs_attr_remote.h (revision 8e1bb4a41aa78d6105e59186af3dcd545fc66e70)
1 /* SPDX-License-Identifier: GPL-2.0 */
2 /*
3  * Copyright (c) 2013 Red Hat, Inc.
4  * All Rights Reserved.
5  */
6 #ifndef __XFS_ATTR_REMOTE_H__
7 #define	__XFS_ATTR_REMOTE_H__
8 
9 unsigned int xfs_attr3_rmt_blocks(struct xfs_mount *mp, unsigned int attrlen);
10 
11 /* Number of rmt blocks needed to store the maximally sized attr value */
12 static inline unsigned int xfs_attr3_max_rmt_blocks(struct xfs_mount *mp)
13 {
14 	return xfs_attr3_rmt_blocks(mp, XFS_XATTR_SIZE_MAX);
15 }
16 
17 int xfs_attr_rmtval_get(struct xfs_da_args *args);
18 int xfs_attr_rmtval_stale(struct xfs_inode *ip, struct xfs_bmbt_irec *map,
19 		xfs_buf_flags_t incore_flags);
20 int xfs_attr_rmtval_invalidate(struct xfs_da_args *args);
21 int xfs_attr_rmtval_remove(struct xfs_attr_intent *attr);
22 int xfs_attr_rmt_find_hole(struct xfs_da_args *args);
23 int xfs_attr_rmtval_set_value(struct xfs_da_args *args);
24 int xfs_attr_rmtval_set_blk(struct xfs_attr_intent *attr);
25 int xfs_attr_rmtval_find_space(struct xfs_attr_intent *attr);
26 #endif /* __XFS_ATTR_REMOTE_H__ */
27