1// SPDX-License-Identifier: GPL-2.0
2/*
3 * Copyright (c) 2000-2003,2005 Silicon Graphics, Inc.
4 * All Rights Reserved.
5 */
6#ifndef __XFS_RTALLOC_H__
7#define __XFS_RTALLOC_H__
8
9/* kernel only definitions and functions */
10
11struct xfs_mount;
12struct xfs_trans;
13
14#ifdef CONFIG_XFS_RT
15/*
16 * Initialize realtime fields in the mount structure.
17 */
18int /* error */
19xfs_rtmount_init(
20 struct xfs_mount *mp); /* file system mount structure */
21void
22xfs_rtunmount_inodes(
23 struct xfs_mount *mp);
24
25/*
26 * Get the bitmap and summary inodes into the mount structure
27 * at mount time.
28 */
29int /* error */
30xfs_rtmount_inodes(
31 struct xfs_mount *mp); /* file system mount structure */
32
33/*
34 * Grow the realtime area of the filesystem.
35 */
36int
37xfs_growfs_rt(
38 struct xfs_mount *mp, /* file system mount structure */
39 xfs_growfs_rt_t *in); /* user supplied growfs struct */
40
41int xfs_rtalloc_reinit_frextents(struct xfs_mount *mp);
42#else
43# define xfs_growfs_rt(mp,in) (-ENOSYS)
44# define xfs_rtalloc_reinit_frextents(m) (0)
45static inline int /* error */
46xfs_rtmount_init(
47 xfs_mount_t *mp) /* file system mount structure */
48{
49 if (mp->m_sb.sb_rblocks == 0)
50 return 0;
51
52 xfs_warn(mp, "Not built with CONFIG_XFS_RT");
53 return -ENOSYS;
54}
55# define xfs_rtmount_inodes(m) (((mp)->m_sb.sb_rblocks == 0)? 0 : (-ENOSYS))
56# define xfs_rtunmount_inodes(m)
57#endif /* CONFIG_XFS_RT */
58
59#endif /* __XFS_RTALLOC_H__ */
60

source code of linux/fs/xfs/xfs_rtalloc.h