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 */ xfs_rtmount_init(xfs_mount_t * mp)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