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 | |
11 | struct xfs_mount; |
12 | struct xfs_trans; |
13 | |
14 | #ifdef CONFIG_XFS_RT |
15 | /* |
16 | * Initialize realtime fields in the mount structure. |
17 | */ |
18 | int /* error */ |
19 | xfs_rtmount_init( |
20 | struct xfs_mount *mp); /* file system mount structure */ |
21 | void |
22 | xfs_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 | */ |
29 | int /* error */ |
30 | xfs_rtmount_inodes( |
31 | struct xfs_mount *mp); /* file system mount structure */ |
32 | |
33 | /* |
34 | * Grow the realtime area of the filesystem. |
35 | */ |
36 | int |
37 | xfs_growfs_rt( |
38 | struct xfs_mount *mp, /* file system mount structure */ |
39 | xfs_growfs_rt_t *in); /* user supplied growfs struct */ |
40 | |
41 | int 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) |
45 | static inline int /* error */ |
46 | xfs_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 | |