diff options
Diffstat (limited to 'fs/xfs/xfs_fsops.c')
-rw-r--r-- | fs/xfs/xfs_fsops.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/fs/xfs/xfs_fsops.c b/fs/xfs/xfs_fsops.c index ef1d5bb88b93..7dc0b1713ca8 100644 --- a/fs/xfs/xfs_fsops.c +++ b/fs/xfs/xfs_fsops.c @@ -534,6 +534,12 @@ xfs_fs_reserve_ag_blocks( error = err2; } + if (xfs_sb_version_hasrealtime(&mp->m_sb)) { + err2 = xfs_rt_resv_init(mp, NULL); + if (err2 && !error) + error = err2; + } + if (error && error != -ENOSPC) { xfs_warn(mp, "Error %d reserving per-AG metadata reserve pool.", error); @@ -555,6 +561,9 @@ xfs_fs_unreserve_ag_blocks( int error = 0; int err2; + if (xfs_sb_version_hasrealtime(&mp->m_sb)) + error = xfs_rt_resv_free(mp); + for (agno = 0; agno < mp->m_sb.sb_agcount; agno++) { pag = xfs_perag_get(mp, agno); err2 = xfs_ag_resv_free(pag); |