diff options
author | Christoph Hellwig <hch@lst.de> | 2009-02-04 09:33:58 +0100 |
---|---|---|
committer | Christoph Hellwig <hch@brick.lst.de> | 2009-02-04 09:33:58 +0100 |
commit | b93b6e434c046459cf3111c76dce46ba4abcb2b6 (patch) | |
tree | 04277a4f1bae95d38ea775623db3aaac72d56f26 /fs/xfs/xfs_rtalloc.c | |
parent | xfs: cleanup error handling in xfs_mountfs: (diff) | |
download | linux-b93b6e434c046459cf3111c76dce46ba4abcb2b6.tar.xz linux-b93b6e434c046459cf3111c76dce46ba4abcb2b6.zip |
xfs: make sure to free the real-time inodes in the mount error path
When mount fails after allocating the real-time inodes we currently leak
them. Add a new helper to free the real-time inodes which can be used by
both the mount and unmount path.
Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Felix Blyakher <felixb@sgi.com>
Diffstat (limited to 'fs/xfs/xfs_rtalloc.c')
-rw-r--r-- | fs/xfs/xfs_rtalloc.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/fs/xfs/xfs_rtalloc.c b/fs/xfs/xfs_rtalloc.c index c5bb86f3ec05..385f6dceba5d 100644 --- a/fs/xfs/xfs_rtalloc.c +++ b/fs/xfs/xfs_rtalloc.c @@ -2288,6 +2288,16 @@ xfs_rtmount_inodes( return 0; } +void +xfs_rtunmount_inodes( + struct xfs_mount *mp) +{ + if (mp->m_rbmip) + IRELE(mp->m_rbmip); + if (mp->m_rsumip) + IRELE(mp->m_rsumip); +} + /* * Pick an extent for allocation at the start of a new realtime file. * Use the sequence number stored in the atime field of the bitmap inode. |