diff options
Diffstat (limited to 'fs/xfs/xfs_super.c')
-rw-r--r-- | fs/xfs/xfs_super.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/fs/xfs/xfs_super.c b/fs/xfs/xfs_super.c index d8c03d84b78a..a0e47df75444 100644 --- a/fs/xfs/xfs_super.c +++ b/fs/xfs/xfs_super.c @@ -725,6 +725,9 @@ xfs_mount_free( ASSERT(!mutex_is_locked(&mp->m_scrub_freeze)); mutex_destroy(&mp->m_scrub_freeze); +#if IS_ENABLED(CONFIG_XFS_ONLINE_SCRUB) && IS_ENABLED(CONFIG_XFS_RT) + ASSERT(atomic_read(&mp->m_rt_intents) == 0); +#endif kmem_free(mp); } @@ -1977,6 +1980,10 @@ static int xfs_init_fs_context( INIT_WORK(&mp->m_flush_inodes_work, xfs_flush_inodes_worker); INIT_DELAYED_WORK(&mp->m_reclaim_work, xfs_reclaim_worker); mp->m_kobj.kobject.kset = xfs_kset; +#if IS_ENABLED(CONFIG_XFS_ONLINE_SCRUB) && IS_ENABLED(CONFIG_XFS_RT) + init_waitqueue_head(&mp->m_rt_intents_wq); + atomic_set(&mp->m_rt_intents, 0); +#endif /* * We don't create the finobt per-ag space reservation until after log * recovery, so we must set this to true so that an ifree transaction |