Windows: cm_Lookup return ambiguous filename to caller
authorJeffrey Altman <jaltman@your-file-system.com>
Wed, 8 Jul 2015 23:47:26 +0000 (19:47 -0400)
committerJeffrey Altman <jaltman@your-file-system.com>
Mon, 19 Oct 2015 20:05:18 +0000 (16:05 -0400)
cm_Lookup() must not mask a CM_ERROR_AMBIGUOUS_FILENAME error by
converting it to CM_ERROR_BPLUS_NOMATCH.  Doing so results in the
redirector believing that the object does not exist instead of
there being a STATUS_OBJECT_NAME_COLLISION.

Change-Id: Iaa84d50271c234a84e11dd58d78ef90f5d224032
Reviewed-on: http://gerrit.openafs.org/11930
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

src/WINNT/afsd/cm_vnodeops.c

index 104db33..1c3edd6 100644 (file)
@@ -1131,7 +1131,10 @@ retry_lookup:
                 goto haveFid;
             }
 
-            code = CM_ERROR_BPLUS_NOMATCH;
+           if (code == CM_ERROR_AMBIGUOUS_FILENAME)
+               goto done;
+
+           code = CM_ERROR_BPLUS_NOMATCH;
             goto notfound;
         }
 #endif