incorrect EXDEV error occasionally returned for rename over NFS
diff mbox

Message ID AANLkTimmyOEov1m=Pk=brX1-JGQo2MkirapZHyx66cvj@mail.gmail.com
State RFC, archived
Headers show

Commit Message

Joe Habermann Nov. 16, 2010, 11:49 p.m. UTC
None

Patch
diff mbox

--- vfs.c.orig  2011-02-10 18:39:30.000000000 -0600
+++ vfs.c       2011-02-10 18:39:46.000000000 -0600
@@ -1744,8 +1744,12 @@  nfsd_rename(struct svc_rqst *rqstp, stru
        tdir = tdentry->d_inode;

        err = (rqstp->rq_vers == 2) ? nfserr_acces : nfserr_xdev;
-       if (ffhp->fh_export != tfhp->fh_export)
+       if (ffhp->fh_export != tfhp->fh_export) {
+           if (ffhp->fh_export->ex_client      != tfhp->fh_export->ex_client ||
+                ffhp->fh_export->ex_path.dentry !=
tfhp->fh_export->ex_path.dentry ||
+                ffhp->fh_export->ex_path.mnt    !=
tfhp->fh_export->ex_path.mnt)
                goto out;
+       }