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__ */