0001
0002
0003
0004
0005
0006 #ifndef __XFS_SUPER_H__
0007 #define __XFS_SUPER_H__
0008
0009 #include <linux/exportfs.h>
0010
0011 #ifdef CONFIG_XFS_QUOTA
0012 extern int xfs_qm_init(void);
0013 extern void xfs_qm_exit(void);
0014 # define XFS_QUOTA_STRING "quota, "
0015 #else
0016 # define xfs_qm_init() (0)
0017 # define xfs_qm_exit() do { } while (0)
0018 # define XFS_QUOTA_STRING
0019 #endif
0020
0021 #ifdef CONFIG_XFS_POSIX_ACL
0022 # define XFS_ACL_STRING "ACLs, "
0023 # define set_posix_acl_flag(sb) ((sb)->s_flags |= SB_POSIXACL)
0024 #else
0025 # define XFS_ACL_STRING
0026 # define set_posix_acl_flag(sb) do { } while (0)
0027 #endif
0028
0029 #define XFS_SECURITY_STRING "security attributes, "
0030
0031 #ifdef CONFIG_XFS_RT
0032 # define XFS_REALTIME_STRING "realtime, "
0033 #else
0034 # define XFS_REALTIME_STRING
0035 #endif
0036
0037 #ifdef CONFIG_XFS_ONLINE_SCRUB
0038 # define XFS_SCRUB_STRING "scrub, "
0039 #else
0040 # define XFS_SCRUB_STRING
0041 #endif
0042
0043 #ifdef CONFIG_XFS_ONLINE_REPAIR
0044 # define XFS_REPAIR_STRING "repair, "
0045 #else
0046 # define XFS_REPAIR_STRING
0047 #endif
0048
0049 #ifdef CONFIG_XFS_WARN
0050 # define XFS_WARN_STRING "verbose warnings, "
0051 #else
0052 # define XFS_WARN_STRING
0053 #endif
0054
0055 #ifdef CONFIG_XFS_ASSERT_FATAL
0056 # define XFS_ASSERT_FATAL_STRING "fatal assert, "
0057 #else
0058 # define XFS_ASSERT_FATAL_STRING
0059 #endif
0060
0061 #ifdef DEBUG
0062 # define XFS_DBG_STRING "debug"
0063 #else
0064 # define XFS_DBG_STRING "no debug"
0065 #endif
0066
0067 #define XFS_VERSION_STRING "SGI XFS"
0068 #define XFS_BUILD_OPTIONS XFS_ACL_STRING \
0069 XFS_SECURITY_STRING \
0070 XFS_REALTIME_STRING \
0071 XFS_SCRUB_STRING \
0072 XFS_REPAIR_STRING \
0073 XFS_WARN_STRING \
0074 XFS_QUOTA_STRING \
0075 XFS_ASSERT_FATAL_STRING \
0076 XFS_DBG_STRING
0077
0078 #ifdef DEBUG
0079 # define XFS_WQFLAGS(wqflags) (WQ_SYSFS | (wqflags))
0080 #else
0081 # define XFS_WQFLAGS(wqflags) (wqflags)
0082 #endif
0083
0084 struct xfs_inode;
0085 struct xfs_mount;
0086 struct xfs_buftarg;
0087 struct block_device;
0088
0089 extern void xfs_flush_inodes(struct xfs_mount *mp);
0090 extern xfs_agnumber_t xfs_set_inode_alloc(struct xfs_mount *,
0091 xfs_agnumber_t agcount);
0092
0093 extern const struct export_operations xfs_export_operations;
0094 extern const struct quotactl_ops xfs_quotactl_operations;
0095 extern const struct dax_holder_operations xfs_dax_holder_operations;
0096
0097 extern void xfs_reinit_percpu_counters(struct xfs_mount *mp);
0098
0099 extern struct workqueue_struct *xfs_discard_wq;
0100
0101 #define XFS_M(sb) ((struct xfs_mount *)((sb)->s_fs_info))
0102
0103 #endif