Merge tag 'selinux-pr-20191007' of git://git.kernel.org/pub/scm/linux/kernel/git...
[linux-2.6-microblaze.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 #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 CONFIG_XFS_ONLINE_REPAIR
42 # define XFS_REPAIR_STRING      "repair, "
43 #else
44 # define XFS_REPAIR_STRING
45 #endif
46
47 #ifdef CONFIG_XFS_WARN
48 # define XFS_WARN_STRING        "verbose warnings, "
49 #else
50 # define XFS_WARN_STRING
51 #endif
52
53 #ifdef DEBUG
54 # define XFS_DBG_STRING         "debug"
55 #else
56 # define XFS_DBG_STRING         "no debug"
57 #endif
58
59 #define XFS_VERSION_STRING      "SGI XFS"
60 #define XFS_BUILD_OPTIONS       XFS_ACL_STRING \
61                                 XFS_SECURITY_STRING \
62                                 XFS_REALTIME_STRING \
63                                 XFS_SCRUB_STRING \
64                                 XFS_REPAIR_STRING \
65                                 XFS_WARN_STRING \
66                                 XFS_DBG_STRING /* DBG must be last */
67
68 struct xfs_inode;
69 struct xfs_mount;
70 struct xfs_buftarg;
71 struct block_device;
72
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);
78
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;
82
83 extern void xfs_reinit_percpu_counters(struct xfs_mount *mp);
84
85 extern struct workqueue_struct *xfs_discard_wq;
86
87 #define XFS_M(sb)               ((struct xfs_mount *)((sb)->s_fs_info))
88
89 #endif  /* __XFS_SUPER_H__ */