From f8abf4a1e4ce7cd942f7be4d6829d15ddbbdfc71 Mon Sep 17 00:00:00 2001 From: Andriy Gapon Date: Sun, 4 Nov 2012 14:27:31 +0000 Subject: [PATCH] opensolaris compat: clear VI_MOUNT before returning if mount_snapshot fails To do: investigate if it would be possible to use normal vfs_domount here. Reviewed by: kib MFC after: 19 days --- sys/cddl/compat/opensolaris/kern/opensolaris_vfs.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/sys/cddl/compat/opensolaris/kern/opensolaris_vfs.c b/sys/cddl/compat/opensolaris/kern/opensolaris_vfs.c index a266eca013af..a2532f80222e 100644 --- a/sys/cddl/compat/opensolaris/kern/opensolaris_vfs.c +++ b/sys/cddl/compat/opensolaris/kern/opensolaris_vfs.c @@ -191,6 +191,9 @@ mount_snapshot(kthread_t *td, vnode_t **vpp, const char *fstype, char *fspath, td->td_ucred = cr; if (error != 0) { + VI_LOCK(vp); + vp->v_iflag &= ~VI_MOUNT; + VI_UNLOCK(vp); vrele(vp); vfs_unbusy(mp); vfs_mount_destroy(mp);