Merge tag 'fuse-update-5.4' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi...
[linux-2.6-block.git] / fs / xfs / xfs_super.h
CommitLineData
0b61f8a4 1// SPDX-License-Identifier: GPL-2.0
1da177e4 2/*
7b718769
NS
3 * Copyright (c) 2000-2005 Silicon Graphics, Inc.
4 * All Rights Reserved.
1da177e4
LT
5 */
6#ifndef __XFS_SUPER_H__
7#define __XFS_SUPER_H__
8
a5694255
CH
9#include <linux/exportfs.h>
10
1da177e4 11#ifdef CONFIG_XFS_QUOTA
a05931ce 12extern int xfs_qm_init(void);
1da177e4 13extern void xfs_qm_exit(void);
1da177e4 14#else
a05931ce
CH
15# define xfs_qm_init() (0)
16# define xfs_qm_exit() do { } while (0)
1da177e4
LT
17#endif
18
19#ifdef CONFIG_XFS_POSIX_ACL
20# define XFS_ACL_STRING "ACLs, "
1751e8a6 21# define set_posix_acl_flag(sb) ((sb)->s_flags |= SB_POSIXACL)
1da177e4
LT
22#else
23# define XFS_ACL_STRING
24# define set_posix_acl_flag(sb) do { } while (0)
25#endif
26
f7d3c347 27#define XFS_SECURITY_STRING "security attributes, "
1da177e4
LT
28
29#ifdef CONFIG_XFS_RT
30# define XFS_REALTIME_STRING "realtime, "
31#else
32# define XFS_REALTIME_STRING
33#endif
34
494370cc
ES
35#ifdef CONFIG_XFS_ONLINE_SCRUB
36# define XFS_SCRUB_STRING "scrub, "
37#else
38# define XFS_SCRUB_STRING
39#endif
40
d03a2f1b
ES
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
1da177e4
LT
53#ifdef DEBUG
54# define XFS_DBG_STRING "debug"
55#else
56# define XFS_DBG_STRING "no debug"
57#endif
58
668332e5 59#define XFS_VERSION_STRING "SGI XFS"
1da177e4
LT
60#define XFS_BUILD_OPTIONS XFS_ACL_STRING \
61 XFS_SECURITY_STRING \
62 XFS_REALTIME_STRING \
494370cc 63 XFS_SCRUB_STRING \
d03a2f1b
ES
64 XFS_REPAIR_STRING \
65 XFS_WARN_STRING \
1da177e4
LT
66 XFS_DBG_STRING /* DBG must be last */
67
1da177e4
LT
68struct xfs_inode;
69struct xfs_mount;
70struct xfs_buftarg;
71struct block_device;
72
ddeb14f4 73extern void xfs_quiesce_attr(struct xfs_mount *mp);
9aa05000 74extern void xfs_flush_inodes(struct xfs_mount *mp);
f538d4da 75extern void xfs_blkdev_issue_flush(struct xfs_buftarg *);
12c3f05c
ES
76extern xfs_agnumber_t xfs_set_inode_alloc(struct xfs_mount *,
77 xfs_agnumber_t agcount);
1da177e4 78
39655164 79extern const struct export_operations xfs_export_operations;
46e58764 80extern const struct xattr_handler *xfs_xattr_handlers[];
0d54b217 81extern const struct quotactl_ops xfs_quotactl_operations;
1da177e4 82
5681ca40
DC
83extern void xfs_reinit_percpu_counters(struct xfs_mount *mp);
84
4560e78f
CH
85extern struct workqueue_struct *xfs_discard_wq;
86
b267ce99 87#define XFS_M(sb) ((struct xfs_mount *)((sb)->s_fs_info))
b09cc771 88
1da177e4 89#endif /* __XFS_SUPER_H__ */