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