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
42 # define XFS_DBG_STRING "debug"
44 # define XFS_DBG_STRING "no debug"
47 #define XFS_VERSION_STRING "SGI XFS"
48 #define XFS_BUILD_OPTIONS XFS_ACL_STRING \
52 XFS_DBG_STRING /* DBG must be last */
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);
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;
69 extern void xfs_reinit_percpu_counters(struct xfs_mount *mp);
71 extern struct workqueue_struct *xfs_discard_wq;
73 #define XFS_M(sb) ((struct xfs_mount *)((sb)->s_fs_info))
75 #endif /* __XFS_SUPER_H__ */