Merge tag 'fs_for_v6.6-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/jack...
[platform/kernel/linux-starfive.git] / fs / xfs / xfs_super.h
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 # define XFS_QUOTA_STRING       "quota, "
15 #else
16 # define xfs_qm_init()  (0)
17 # define xfs_qm_exit()  do { } while (0)
18 # define XFS_QUOTA_STRING
19 #endif
20
21 #ifdef CONFIG_XFS_POSIX_ACL
22 # define XFS_ACL_STRING         "ACLs, "
23 # define set_posix_acl_flag(sb) ((sb)->s_flags |= SB_POSIXACL)
24 #else
25 # define XFS_ACL_STRING
26 # define set_posix_acl_flag(sb) do { } while (0)
27 #endif
28
29 #define XFS_SECURITY_STRING     "security attributes, "
30
31 #ifdef CONFIG_XFS_RT
32 # define XFS_REALTIME_STRING    "realtime, "
33 #else
34 # define XFS_REALTIME_STRING
35 #endif
36
37 #ifdef CONFIG_XFS_ONLINE_SCRUB
38 # define XFS_SCRUB_STRING       "scrub, "
39 #else
40 # define XFS_SCRUB_STRING
41 #endif
42
43 #ifdef CONFIG_XFS_ONLINE_REPAIR
44 # define XFS_REPAIR_STRING      "repair, "
45 #else
46 # define XFS_REPAIR_STRING
47 #endif
48
49 #ifdef CONFIG_XFS_WARN
50 # define XFS_WARN_STRING        "verbose warnings, "
51 #else
52 # define XFS_WARN_STRING
53 #endif
54
55 #ifdef CONFIG_XFS_ASSERT_FATAL
56 # define XFS_ASSERT_FATAL_STRING        "fatal assert, "
57 #else
58 # define XFS_ASSERT_FATAL_STRING
59 #endif
60
61 #ifdef DEBUG
62 # define XFS_DBG_STRING         "debug"
63 #else
64 # define XFS_DBG_STRING         "no debug"
65 #endif
66
67 #define XFS_VERSION_STRING      "SGI XFS"
68 #define XFS_BUILD_OPTIONS       XFS_ACL_STRING \
69                                 XFS_SECURITY_STRING \
70                                 XFS_REALTIME_STRING \
71                                 XFS_SCRUB_STRING \
72                                 XFS_REPAIR_STRING \
73                                 XFS_WARN_STRING \
74                                 XFS_QUOTA_STRING \
75                                 XFS_ASSERT_FATAL_STRING \
76                                 XFS_DBG_STRING /* DBG must be last */
77
78 #ifdef DEBUG
79 # define XFS_WQFLAGS(wqflags)   (WQ_SYSFS | (wqflags))
80 #else
81 # define XFS_WQFLAGS(wqflags)   (wqflags)
82 #endif
83
84 struct xfs_inode;
85 struct xfs_mount;
86 struct xfs_buftarg;
87 struct block_device;
88
89 extern void xfs_flush_inodes(struct xfs_mount *mp);
90 extern xfs_agnumber_t xfs_set_inode_alloc(struct xfs_mount *,
91                                            xfs_agnumber_t agcount);
92
93 extern const struct export_operations xfs_export_operations;
94 extern const struct quotactl_ops xfs_quotactl_operations;
95 extern const struct dax_holder_operations xfs_dax_holder_operations;
96
97 extern void xfs_reinit_percpu_counters(struct xfs_mount *mp);
98
99 extern struct workqueue_struct *xfs_discard_wq;
100
101 #define XFS_M(sb)               ((struct xfs_mount *)((sb)->s_fs_info))
102
103 struct dentry *xfs_debugfs_mkdir(const char *name, struct dentry *parent);
104
105 #endif  /* __XFS_SUPER_H__ */