volser: Actually return errors from ListOneVolume
authorSimon Wilkinson <sxw@inf.ed.ac.uk>
Wed, 13 Jul 2011 13:33:57 +0000 (14:33 +0100)
committerDerrick Brashear <shadow@dementia.org>
Wed, 13 Jul 2011 22:18:47 +0000 (15:18 -0700)
The return code from GetVolInfo was being thrown away, and success
returned to the caller, regardless of the success of this function.
As GetVolInfo's exit codes aren't suitable for sending over the wire,
just return ENODEV if this function returns failure.

Change-Id: Ie4adbbd98f5006a9aa50ed9bf73ea9e4344fabf3
Reviewed-on: http://gerrit.openafs.org/5000
Tested-by: Derrick Brashear <shadow@dementia.org>
Reviewed-by: Derrick Brashear <shadow@dementia.org>

src/volser/volprocs.c

index e55a5a2..28e0ac9 100644 (file)
@@ -14,6 +14,8 @@
 
 #include <roken.h>
 
+#pragma  GCC diagnostic warning "-Wunused-but-set-variable"
+
 #include <rx/xdr.h>
 #include <rx/rx.h>
 #include <rx/rxkad.h>
@@ -2388,7 +2390,10 @@ VolListOneVolume(struct rx_call *acid, afs_int32 partid,
     }
 
     closedir(dirp);
-    return (found) ? 0 : ENODEV;
+    if (found)
+        return code ? ENODEV: 0;
+    else
+        return ENODEV;
 }
 
 /*------------------------------------------------------------------------
@@ -2519,7 +2524,10 @@ VolXListOneVolume(struct rx_call *a_rxCidP, afs_int32 a_partID,
      * return the proper value.
      */
     closedir(dirp);
-    return (found) ? 0 : ENODEV;
+    if (found)
+        return code ? ENODEV: 0;
+    else
+        return ENODEV;
 }                              /*SAFSVolXListOneVolume */
 
 /*returns all the volumes on partition partid. If flags = 1 then all the