xref: /linux/fs/xfs/xfs_super.h (revision bd628c1bed7902ec1f24ba0fe70758949146abbe)
1 // SPDX-License-Identifier: GPL-2.0
2 /*
3  * Copyright (c) 2000-2005 Silicon Graphics, Inc.
4  * All Rights Reserved.
5  */
6 #ifndef __XFS_SUPER_H__
7 #define __XFS_SUPER_H__
8 
9 #include <linux/exportfs.h>
10 
11 #ifdef CONFIG_XFS_QUOTA
12 extern int xfs_qm_init(void);
13 extern void xfs_qm_exit(void);
14 #else
15 # define xfs_qm_init()	(0)
16 # define xfs_qm_exit()	do { } while (0)
17 #endif
18 
19 #ifdef CONFIG_XFS_POSIX_ACL
20 # define XFS_ACL_STRING		"ACLs, "
21 # define set_posix_acl_flag(sb)	((sb)->s_flags |= SB_POSIXACL)
22 #else
23 # define XFS_ACL_STRING
24 # define set_posix_acl_flag(sb)	do { } while (0)
25 #endif
26 
27 #define XFS_SECURITY_STRING	"security attributes, "
28 
29 #ifdef CONFIG_XFS_RT
30 # define XFS_REALTIME_STRING	"realtime, "
31 #else
32 # define XFS_REALTIME_STRING
33 #endif
34 
35 #ifdef CONFIG_XFS_ONLINE_SCRUB
36 # define XFS_SCRUB_STRING	"scrub, "
37 #else
38 # define XFS_SCRUB_STRING
39 #endif
40 
41 #ifdef DEBUG
42 # define XFS_DBG_STRING		"debug"
43 #else
44 # define XFS_DBG_STRING		"no debug"
45 #endif
46 
47 #define XFS_VERSION_STRING	"SGI XFS"
48 #define XFS_BUILD_OPTIONS	XFS_ACL_STRING \
49 				XFS_SECURITY_STRING \
50 				XFS_REALTIME_STRING \
51 				XFS_SCRUB_STRING \
52 				XFS_DBG_STRING /* DBG must be last */
53 
54 struct xfs_inode;
55 struct xfs_mount;
56 struct xfs_buftarg;
57 struct block_device;
58 
59 extern void xfs_quiesce_attr(struct xfs_mount *mp);
60 extern void xfs_flush_inodes(struct xfs_mount *mp);
61 extern void xfs_blkdev_issue_flush(struct xfs_buftarg *);
62 extern xfs_agnumber_t xfs_set_inode_alloc(struct xfs_mount *,
63 					   xfs_agnumber_t agcount);
64 
65 extern const struct export_operations xfs_export_operations;
66 extern const struct xattr_handler *xfs_xattr_handlers[];
67 extern const struct quotactl_ops xfs_quotactl_operations;
68 
69 extern void xfs_reinit_percpu_counters(struct xfs_mount *mp);
70 
71 extern struct workqueue_struct *xfs_discard_wq;
72 
73 #define XFS_M(sb)		((struct xfs_mount *)((sb)->s_fs_info))
74 
75 #endif	/* __XFS_SUPER_H__ */
76