1 // SPDX-License-Identifier: GPL-2.0
3 * Copyright (c) 2000-2005 Silicon Graphics, Inc.
6 #ifndef __XFS_SUPER_H__
7 #define __XFS_SUPER_H__
9 #include <linux/exportfs.h>
11 #ifdef CONFIG_XFS_QUOTA
12 extern int xfs_qm_init(void);
13 extern void xfs_qm_exit(void);
15 # define xfs_qm_init() (0)
16 # define xfs_qm_exit() do { } while (0)
19 #ifdef CONFIG_XFS_POSIX_ACL
20 # define XFS_ACL_STRING "ACLs, "
21 # define set_posix_acl_flag(sb) ((sb)->s_flags |= SB_POSIXACL)
23 # define XFS_ACL_STRING
24 # define set_posix_acl_flag(sb) do { } while (0)
27 #define XFS_SECURITY_STRING "security attributes, "
30 # define XFS_REALTIME_STRING "realtime, "
32 # define XFS_REALTIME_STRING
35 #ifdef CONFIG_XFS_ONLINE_SCRUB
36 # define XFS_SCRUB_STRING "scrub, "
38 # define XFS_SCRUB_STRING
41 #ifdef CONFIG_XFS_ONLINE_REPAIR
42 # define XFS_REPAIR_STRING "repair, "
44 # define XFS_REPAIR_STRING
47 #ifdef CONFIG_XFS_WARN
48 # define XFS_WARN_STRING "verbose warnings, "
50 # define XFS_WARN_STRING
54 # define XFS_DBG_STRING "debug"
56 # define XFS_DBG_STRING "no debug"
59 #define XFS_VERSION_STRING "SGI XFS"
60 #define XFS_BUILD_OPTIONS XFS_ACL_STRING \
66 XFS_DBG_STRING /* DBG must be last */
73 extern void xfs_quiesce_attr(struct xfs_mount *mp);
74 extern void xfs_flush_inodes(struct xfs_mount *mp);
75 extern void xfs_blkdev_issue_flush(struct xfs_buftarg *);
76 extern xfs_agnumber_t xfs_set_inode_alloc(struct xfs_mount *,
77 xfs_agnumber_t agcount);
79 extern const struct export_operations xfs_export_operations;
80 extern const struct xattr_handler *xfs_xattr_handlers[];
81 extern const struct quotactl_ops xfs_quotactl_operations;
83 extern void xfs_reinit_percpu_counters(struct xfs_mount *mp);
85 extern struct workqueue_struct *xfs_discard_wq;
87 #define XFS_M(sb) ((struct xfs_mount *)((sb)->s_fs_info))
89 #endif /* __XFS_SUPER_H__ */