Assert that um_softdep is NULL on free(ump), i.e. softdep_unmount() was called

Reviewed by:	mckusick
Tested by:	pho
Sponsored by:	The FreeBSD Foundation
MFC after:	2 weeks
Differential revision:	https://reviews.freebsd.org/D29178
This commit is contained in:
Konstantin Belousov 2021-03-03 21:40:34 +02:00
parent f776c54cee
commit 2af934cc15

View File

@ -1355,6 +1355,7 @@ ffs_mountfs(odevvp, mp, td)
free(mp->mnt_gjprovider, M_UFSMNT);
mp->mnt_gjprovider = NULL;
}
MPASS(ump->um_softdep == NULL);
free(ump, M_UFSMNT);
mp->mnt_data = NULL;
}
@ -1537,6 +1538,7 @@ ffs_unmount(mp, mntflags)
UFS_UNLOCK(ump);
if (MOUNTEDSOFTDEP(mp))
softdep_unmount(mp);
MPASS(ump->um_softdep == NULL);
if (fs->fs_ronly == 0 || ump->um_fsckpid > 0) {
fs->fs_clean = fs->fs_flags & (FS_UNCLEAN|FS_NEEDSFSCK) ? 0 : 1;
error = ffs_sbupdate(ump, MNT_WAIT, 0);