Darren Reed <[EMAIL PROTECTED]> wrote: > > if (fromvp != tovp) { > > vattr.va_mask = AT_FSID; > > if (error = VOP_GETATTR(fromvp, &vattr, 0, CRED(), NULL)) > > goto out; > > fsid = vattr.va_fsid; > > vattr.va_mask = AT_FSID; > > if (error = VOP_GETATTR(tovp, &vattr, 0, CRED(), NULL)) > > goto out; > > if (fsid != vattr.va_fsid) { > > error = EXDEV; > > goto out; > > } > > } > > > > ZFS will never even see such a rename request. > > Is this behaviour defined by a standard (such as POSIX or the > VFS design) or are we free to innovate here and do something > that allowed such a shortcut as required?
EXDEV means: "cross device link", not cross filesystem link A ZFS pool acts as the underlying "storage device", so everything that is within a single ZFS pool may be a candidate for a rename. POSIX grants that st_dev and st_ino together uniquely identify a file on a system. As long as neither st_dev nor st_ino change during the rename(2) call, POSIX does not prevent this rename operation. Jörg -- EMail:[EMAIL PROTECTED] (home) Jörg Schilling D-13353 Berlin [EMAIL PROTECTED] (uni) [EMAIL PROTECTED] (work) Blog: http://schily.blogspot.com/ URL: http://cdrecord.berlios.de/old/private/ ftp://ftp.berlios.de/pub/schily _______________________________________________ zfs-discuss mailing list zfs-discuss@opensolaris.org http://mail.opensolaris.org/mailman/listinfo/zfs-discuss