diff options
Diffstat (limited to 'fs/xfs/libxfs/xfs_rtbitmap.h')
| -rw-r--r-- | fs/xfs/libxfs/xfs_rtbitmap.h | 17 | 
1 files changed, 17 insertions, 0 deletions
diff --git a/fs/xfs/libxfs/xfs_rtbitmap.h b/fs/xfs/libxfs/xfs_rtbitmap.h index 152a66750af5..6186585f2c37 100644 --- a/fs/xfs/libxfs/xfs_rtbitmap.h +++ b/fs/xfs/libxfs/xfs_rtbitmap.h @@ -360,6 +360,19 @@ xfs_filblks_t xfs_rtsummary_blockcount(struct xfs_mount *mp,  		unsigned int rsumlevels, xfs_extlen_t rbmblocks);  unsigned long long xfs_rtsummary_wordcount(struct xfs_mount *mp,  		unsigned int rsumlevels, xfs_extlen_t rbmblocks); + +void xfs_rtbitmap_lock(struct xfs_trans *tp, struct xfs_mount *mp); +void xfs_rtbitmap_unlock(struct xfs_mount *mp); + +/* Lock the rt bitmap inode in shared mode */ +#define XFS_RBMLOCK_BITMAP	(1U << 0) +/* Lock the rt summary inode in shared mode */ +#define XFS_RBMLOCK_SUMMARY	(1U << 1) + +void xfs_rtbitmap_lock_shared(struct xfs_mount *mp, +		unsigned int rbmlock_flags); +void xfs_rtbitmap_unlock_shared(struct xfs_mount *mp, +		unsigned int rbmlock_flags);  #else /* CONFIG_XFS_RT */  # define xfs_rtfree_extent(t,b,l)			(-ENOSYS)  # define xfs_rtfree_blocks(t,rb,rl)			(-ENOSYS) @@ -378,6 +391,10 @@ xfs_rtbitmap_blockcount(struct xfs_mount *mp, xfs_rtbxlen_t rtextents)  # define xfs_rtbitmap_wordcount(mp, r)			(0)  # define xfs_rtsummary_blockcount(mp, l, b)		(0)  # define xfs_rtsummary_wordcount(mp, l, b)		(0) +# define xfs_rtbitmap_lock(tp, mp)		do { } while (0) +# define xfs_rtbitmap_unlock(mp)		do { } while (0) +# define xfs_rtbitmap_lock_shared(mp, lf)	do { } while (0) +# define xfs_rtbitmap_unlock_shared(mp, lf)	do { } while (0)  #endif /* CONFIG_XFS_RT */  #endif /* __XFS_RTBITMAP_H__ */  |