Back to home page

OSCL-LXR

 
 

    


0001 // SPDX-License-Identifier: GPL-2.0
0002 /*
0003  * Copyright (c) 2000-2005 Silicon Graphics, Inc.
0004  * All Rights Reserved.
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 /* DBG must be last */
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  /* __XFS_SUPER_H__ */