VFS: panic when unmount_all fails
This commit is contained in:
parent
992799b91f
commit
3881e732a9
1 changed files with 11 additions and 1 deletions
|
@ -453,7 +453,7 @@ int do_umount(void)
|
||||||
|
|
||||||
|
|
||||||
/*===========================================================================*
|
/*===========================================================================*
|
||||||
* unmount *
|
* unmount *
|
||||||
*===========================================================================*/
|
*===========================================================================*/
|
||||||
int unmount(
|
int unmount(
|
||||||
dev_t dev, /* block-special device */
|
dev_t dev, /* block-special device */
|
||||||
|
@ -551,10 +551,20 @@ void unmount_all(void)
|
||||||
unmount(vmp->m_dev, NULL);
|
unmount(vmp->m_dev, NULL);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Verify nothing is locked anymore */
|
||||||
check_vnode_locks();
|
check_vnode_locks();
|
||||||
check_vmnt_locks();
|
check_vmnt_locks();
|
||||||
check_filp_locks();
|
check_filp_locks();
|
||||||
check_bsf_lock();
|
check_bsf_lock();
|
||||||
|
|
||||||
|
/* Verify we succesfully unmounted all file systems */
|
||||||
|
for (vmp = &vmnt[0]; vmp < &vmnt[NR_MNTS]; vmp++) {
|
||||||
|
if (vmp->m_dev != NO_DEV) {
|
||||||
|
panic("vmp still mounted: %s %d %d\n", vmp->m_label,
|
||||||
|
vmp->m_fs_e, vmp->m_dev);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/*===========================================================================*
|
/*===========================================================================*
|
||||||
|
|
Loading…
Reference in a new issue