svn commit: r303869 - head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs
Andriy Gapon
avg at FreeBSD.org
Tue Aug 9 06:11:26 UTC 2016
Author: avg
Date: Tue Aug 9 06:11:24 2016
New Revision: 303869
URL: https://svnweb.freebsd.org/changeset/base/303869
Log:
fix a zfs cross-device rename crash introduced in r303763
The problem was that 'zfsvfs' variable was not initialized if the error
was detected, but in the exit path the variable was dereferenced before
the error code was checked.
Reported by: np
MFC after: 3 days
X-MFC with: r303763
Modified:
head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c
Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c
==============================================================================
--- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c Tue Aug 9 04:59:55 2016 (r303868)
+++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c Tue Aug 9 06:11:24 2016 (r303869)
@@ -3956,7 +3956,7 @@ unlockout: /* all 4 vnodes are locked,
VOP_UNLOCK(sdvp, 0);
out: /* original two vnodes are locked */
- if (zfsvfs->z_os->os_sync == ZFS_SYNC_ALWAYS && error == 0)
+ if (error == 0 && zfsvfs->z_os->os_sync == ZFS_SYNC_ALWAYS)
zil_commit(zilog, 0);
if (*tvpp != NULL)
More information about the svn-src-head
mailing list