From: Mark Shellenbaum Date: Tue, 6 Apr 2010 01:59:44 +0000 (-0600) Subject: 6939941 problem with moving files in zfs X-Git-Tag: zfs-0.6.3~217 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=c0ebc844c78cd40c086dd145dc129b73f17af21b;p=zfs 6939941 problem with moving files in zfs References: illumos/illumos-gate@d39ee142a97a7c58f60f7b52c62409f2ff64b234 Ported-by: Richard Yao Signed-off-by: Brian Behlendorf Issue #1775 Porting notes: 1. This commit was so old that only two lines applied to the modern code base. --- diff --git a/module/zfs/zfs_vnops.c b/module/zfs/zfs_vnops.c index b5333634e..9500af62d 100644 --- a/module/zfs/zfs_vnops.c +++ b/module/zfs/zfs_vnops.c @@ -3174,7 +3174,7 @@ zfs_rename(struct inode *sdip, char *snm, struct inode *tdip, char *tnm, ZFS_VERIFY_ZP(sdzp); zilog = zsb->z_log; - if (tdip->i_sb != sdip->i_sb) { + if (tdip->i_sb != sdip->i_sb || zfsctl_is_node(tdip)) { ZFS_EXIT(zsb); return (SET_ERROR(EXDEV)); } @@ -3716,7 +3716,7 @@ zfs_link(struct inode *tdip, struct inode *sip, char *name, cred_t *cr) return (SET_ERROR(EPERM)); } - if (sip->i_sb != tdip->i_sb) { + if (sip->i_sb != tdip->i_sb || zfsctl_is_node(sip)) { ZFS_EXIT(zsb); return (SET_ERROR(EXDEV)); }