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
_______________________________________________
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to