svn commit: r254982 - head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs
Pawel Jakub Dawidek
pjd at FreeBSD.org
Thu Sep 5 00:26:21 UTC 2013
On Wed, Aug 28, 2013 at 10:45:58AM +0300, Andriy Gapon wrote:
> on 28/08/2013 03:39 Xin LI said the following:
> > @@ -6250,8 +6250,11 @@ zfs_freebsd_rename(ap)
> > ASSERT(ap->a_fcnp->cn_flags & (SAVENAME|SAVESTART));
> > ASSERT(ap->a_tcnp->cn_flags & (SAVENAME|SAVESTART));
> >
> > - error = zfs_rename(fdvp, ap->a_fcnp->cn_nameptr, tdvp,
> > - ap->a_tcnp->cn_nameptr, ap->a_fcnp->cn_cred, NULL, 0);
> > + if (fdvp->v_mount == tdvp->v_mount)
> > + error = zfs_rename(fdvp, ap->a_fcnp->cn_nameptr, tdvp,
> > + ap->a_tcnp->cn_nameptr, ap->a_fcnp->cn_cred, NULL, 0);
> > + else
> > + error = EXDEV;
> >
> > if (tdvp == tvp)
> > VN_RELE(tdvp);
>
> So, I am still not sure if that is important or not, but this change still misses
> (tvp && (fvp->v_mount != tvp->v_mount))
> check as found in ufs_rename.
Yes, it is important. This is the case where 'fvp' represents a
directory and 'tvp' also represents an existing directory. It is then
possible that tdvp and tvp belong to different mount points.
--
Pawel Jakub Dawidek http://www.wheelsystems.com
FreeBSD committer http://www.FreeBSD.org
Am I Evil? Yes, I Am! http://mobter.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 196 bytes
Desc: not available
URL: <http://lists.freebsd.org/pipermail/svn-src-head/attachments/20130905/597557f2/attachment.sig>
More information about the svn-src-head
mailing list