summaryrefslogtreecommitdiff
path: root/fs/xfs/xfs_fsops.c
diff options
context:
space:
mode:
Diffstat (limited to 'fs/xfs/xfs_fsops.c')
-rw-r--r--fs/xfs/xfs_fsops.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/fs/xfs/xfs_fsops.c b/fs/xfs/xfs_fsops.c
index ef6a700679ad..9c7c104e47fa 100644
--- a/fs/xfs/xfs_fsops.c
+++ b/fs/xfs/xfs_fsops.c
@@ -535,6 +535,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);
@@ -556,6 +562,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);