svn commit: r254585 - head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs
Andriy Gapon
avg at FreeBSD.org
Wed Aug 28 07:42:16 UTC 2013
on 28/08/2013 04:02 Xin Li said the following:
> I'm not sure that this is right. Now we have:
>
> tdzp = VTOZ(tdvp);
> ZFS_VERIFY_ZP(tdzp);
> zfsvfs = tdzp->z_zfsvfs;
> ZFS_ENTER(zfsvfs); // tdzp's z_zfsvfs entered
> zilog = zfsvfs->z_log;
> sdzp = VTOZ(sdvp);
> ZFS_VERIFY_ZP(sdzp); // (*)
>
> Note that in the (*) step, when sdzp is invalid and sdzp have
> different z_zfsvfs than tdzp (for instance when the node is in the
> snapshot directory; the code later would test this), we could end up
> with ZFS_EXIT()'ing the wrong z_zfsvfs.
The v_vfsp / v_mount check should be prior to any of this and should ensure that
all the vnodes have the same z_zfsvfs.
--
Andriy Gapon
More information about the svn-src-head
mailing list