]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
When restoring the mount after umount failed, the MNTK_UNMOUNT flag
authorKonstantin Belousov <kib@FreeBSD.org>
Wed, 12 Sep 2007 16:31:32 +0000 (16:31 +0000)
committerKonstantin Belousov <kib@FreeBSD.org>
Wed, 12 Sep 2007 16:31:32 +0000 (16:31 +0000)
commit245b20449181a11c8a933788441db3ed310bd057
tree9af9fa02ecb42b6b92fe2fefa1fb1be0c3c57232
parentb28624fde638caadd4a89f50c9b7e7da0f98c4d2
When restoring the mount after umount failed, the MNTK_UNMOUNT flag
prevents insmntque() from placing reallocated syncer vnode on mount
list, that causes panic in vfs_allocate_syncvnode().

Introduce MNTK_NOINSMNTQ flag, that marks the period when instmntque is
not allowed to success, instead of MNTK_UNMOUNT. The MNTK_NOINSMNTQ is
set and cleared simultaneously with MNTK_UNMOUNT, except on umount error
path, where it is cleaned just before the syncer vnode is going to be
allocated.

Reported by: Peter Jeremy <peterjeremy optushome com au>
Suggested by: tegge
Approved by: re (rwatson)
sys/kern/vfs_mount.c
sys/kern/vfs_subr.c
sys/sys/mount.h