2018-06-06 05:42:14 +03:00
// SPDX-License-Identifier: GPL-2.0
2005-04-17 02:20:36 +04:00
/*
2005-11-02 06:58:39 +03:00
* Copyright ( c ) 2000 - 2005 Silicon Graphics , Inc .
* All Rights Reserved .
2005-04-17 02:20:36 +04:00
*/
# ifndef __XFS_SUPER_H__
# define __XFS_SUPER_H__
2007-07-17 15:04:28 +04:00
# include <linux/exportfs.h>
2005-04-17 02:20:36 +04:00
# ifdef CONFIG_XFS_QUOTA
2012-03-13 12:52:37 +04:00
extern int xfs_qm_init ( void ) ;
2005-04-17 02:20:36 +04:00
extern void xfs_qm_exit ( void ) ;
2019-10-14 20:34:32 +03:00
# define XFS_QUOTA_STRING "quota, "
2005-04-17 02:20:36 +04:00
# else
2012-03-13 12:52:37 +04:00
# define xfs_qm_init() (0)
# define xfs_qm_exit() do { } while (0)
2019-10-14 20:34:32 +03:00
# define XFS_QUOTA_STRING
2005-04-17 02:20:36 +04:00
# endif
# ifdef CONFIG_XFS_POSIX_ACL
# define XFS_ACL_STRING "ACLs, "
2017-11-28 00:05:09 +03:00
# define set_posix_acl_flag(sb) ((sb)->s_flags |= SB_POSIXACL)
2005-04-17 02:20:36 +04:00
# else
# define XFS_ACL_STRING
# define set_posix_acl_flag(sb) do { } while (0)
# endif
2008-04-17 10:50:22 +04:00
# define XFS_SECURITY_STRING "security attributes, "
2005-04-17 02:20:36 +04:00
# ifdef CONFIG_XFS_RT
# define XFS_REALTIME_STRING "realtime, "
# else
# define XFS_REALTIME_STRING
# endif
2018-01-31 22:31:10 +03:00
# ifdef CONFIG_XFS_ONLINE_SCRUB
# define XFS_SCRUB_STRING "scrub, "
# else
# define XFS_SCRUB_STRING
# endif
2019-06-05 21:19:48 +03:00
# ifdef CONFIG_XFS_ONLINE_REPAIR
# define XFS_REPAIR_STRING "repair, "
# else
# define XFS_REPAIR_STRING
# endif
# ifdef CONFIG_XFS_WARN
# define XFS_WARN_STRING "verbose warnings, "
# else
# define XFS_WARN_STRING
# endif
2019-10-14 20:34:32 +03:00
# ifdef CONFIG_XFS_ASSERT_FATAL
# define XFS_ASSERT_FATAL_STRING "fatal assert, "
# else
# define XFS_ASSERT_FATAL_STRING
# endif
2005-04-17 02:20:36 +04:00
# ifdef DEBUG
# define XFS_DBG_STRING "debug"
# else
# define XFS_DBG_STRING "no debug"
# endif
2010-10-06 22:41:15 +04:00
# define XFS_VERSION_STRING "SGI XFS"
2005-04-17 02:20:36 +04:00
# define XFS_BUILD_OPTIONS XFS_ACL_STRING \
XFS_SECURITY_STRING \
XFS_REALTIME_STRING \
2018-01-31 22:31:10 +03:00
XFS_SCRUB_STRING \
2019-06-05 21:19:48 +03:00
XFS_REPAIR_STRING \
XFS_WARN_STRING \
2019-10-14 20:34:32 +03:00
XFS_QUOTA_STRING \
XFS_ASSERT_FATAL_STRING \
2005-04-17 02:20:36 +04:00
XFS_DBG_STRING /* DBG must be last */
2021-01-23 03:48:42 +03:00
# ifdef DEBUG
# define XFS_WQFLAGS(wqflags) (WQ_SYSFS | (wqflags))
# else
# define XFS_WQFLAGS(wqflags) (wqflags)
# endif
2005-04-17 02:20:36 +04:00
struct xfs_inode ;
struct xfs_mount ;
struct xfs_buftarg ;
struct block_device ;
2012-10-08 14:56:04 +04:00
extern void xfs_flush_inodes ( struct xfs_mount * mp ) ;
2016-03-02 01:58:09 +03:00
extern xfs_agnumber_t xfs_set_inode_alloc ( struct xfs_mount * ,
xfs_agnumber_t agcount ) ;
2005-04-17 02:20:36 +04:00
2007-10-22 03:42:17 +04:00
extern const struct export_operations xfs_export_operations ;
2009-09-22 04:01:09 +04:00
extern const struct quotactl_ops xfs_quotactl_operations ;
2022-06-03 08:37:30 +03:00
extern const struct dax_holder_operations xfs_dax_holder_operations ;
2005-04-17 02:20:36 +04:00
2015-02-23 13:22:31 +03:00
extern void xfs_reinit_percpu_counters ( struct xfs_mount * mp ) ;
2017-02-08 01:07:58 +03:00
extern struct workqueue_struct * xfs_discard_wq ;
2007-08-30 11:21:30 +04:00
# define XFS_M(sb) ((struct xfs_mount *)((sb)->s_fs_info))
2007-08-30 11:19:57 +04:00
2005-04-17 02:20:36 +04:00
# endif /* __XFS_SUPER_H__ */