[Bug 207464] Panic when destroying ZFS snapshot

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Mon May 16 06:24:43 UTC 2016


https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=207464

--- Comment #24 from commit-hook at freebsd.org ---
A commit references this bug:

Author: avg
Date: Mon May 16 06:24:05 UTC 2016
New revision: 299900
URL: https://svnweb.freebsd.org/changeset/base/299900

Log:
  zfsctl: fix several problems with reference counts

  * Remove excessive references on a snapshot mountpoint vnode.
    zfsctl_snapdir_lookup() called VN_HOLD() on a vnode returned from
    zfsctl_snapshot_mknode() and the latter also had a call to VN_HOLD()
    on the same vnode.
    On top of that gfs_dir_create() already returns the vnode with the
    use count of 1 (set in getnewvnode).
    So there was 3 references on the vnode.

  * mount_snapshot() should keep a reference to a covered vnode.
    That reference is owned by the mountpoint (mounted snapshot filesystem).

  * Remove cryptic manipulations of a covered vnode in zfs_umount().
    FreeBSD dounmount() already does the right thing and releases the covered
    vnode.

  PR:           207464
  Reported by:  dustinwenz at ebureau.com
  Tested by:    Howard Powell <hpowell at lighthouseinstruments.com>
  MFC after:    3 weeks

Changes:
  head/sys/cddl/compat/opensolaris/kern/opensolaris_vfs.c
  head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ctldir.c
  head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c

-- 
You are receiving this mail because:
You are on the CC list for the bug.


More information about the freebsd-fs mailing list