blob: 21cb49a43d7cb0c8c9945fc35cd71dc0e3fceb6d [file] [log] [blame]
xjb04a4022021-11-25 15:01:52 +08001// 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
12extern int xfs_qm_init(void);
13extern 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 DEBUG
42# define XFS_DBG_STRING "debug"
43#else
44# define XFS_DBG_STRING "no debug"
45#endif
46
47#define XFS_VERSION_STRING "SGI XFS"
48#define XFS_BUILD_OPTIONS XFS_ACL_STRING \
49 XFS_SECURITY_STRING \
50 XFS_REALTIME_STRING \
51 XFS_SCRUB_STRING \
52 XFS_DBG_STRING /* DBG must be last */
53
54struct xfs_inode;
55struct xfs_mount;
56struct xfs_buftarg;
57struct block_device;
58
59extern void xfs_quiesce_attr(struct xfs_mount *mp);
60extern void xfs_flush_inodes(struct xfs_mount *mp);
61extern void xfs_blkdev_issue_flush(struct xfs_buftarg *);
62extern xfs_agnumber_t xfs_set_inode_alloc(struct xfs_mount *,
63 xfs_agnumber_t agcount);
64
65extern const struct export_operations xfs_export_operations;
66extern const struct xattr_handler *xfs_xattr_handlers[];
67extern const struct quotactl_ops xfs_quotactl_operations;
68
69extern void xfs_reinit_percpu_counters(struct xfs_mount *mp);
70
71extern struct workqueue_struct *xfs_discard_wq;
72
73#define XFS_M(sb) ((struct xfs_mount *)((sb)->s_fs_info))
74
75#endif /* __XFS_SUPER_H__ */