HomeFreeBSD

zfs_mount(MS_REMOUNT): protect zfs_(un)register_callbacks calls

Description

zfs_mount(MS_REMOUNT): protect zfs_(un)register_callbacks calls

We now take z_teardown_lock as a writer to ensure that there is no I/O
while the filesystem state is in a flux. Also, zfs_suspend_fs() ->
zfsvfs_teardown() call zfs_unregister_callbacks() and zfs_resume_fs() ->
zfsvfs_setup() call zfs_unregister_callbacks(). Previously there was no
synchronization between those calls and the calls in the re-mounting
case. That could lead to concurrent execution and a crash.

PR: 180060
Differential Revision: https://reviews.freebsd.org/D2865
Suggested by: mahrens
Reviewed by: delphij, pho, mahrens, will
MFC after: 13 days
Sponsored by: ClusterHQ

Details

Provenance
avgAuthored on
Reviewer
delphij
Parents
rS285020: Disable port multiplier support on Marvell 88SE61xx chips.
Branches
Unknown
Tags
Unknown