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-all/attachments/20130905/597557f2/attachment.sig>


More information about the svn-src-all mailing list