vos: cross-device link error message
authorMichael Meffie <mmeffie@sinenomine.net>
Tue, 18 Feb 2014 20:23:54 +0000 (15:23 -0500)
committerJeffrey Altman <jaltman@your-file-system.com>
Wed, 20 Aug 2014 16:40:58 +0000 (12:40 -0400)
Print a better diagnostic message for cross-device link errors, which
happens when a clone volume is not in the same partition as the
parent read-write volume.

Change-Id: If58284a1dc53f8264fb17757f37c627fc2a378db
Reviewed-on: http://gerrit.openafs.org/10850
Reviewed-by: D Brashear <shadow@your-file-system.com>
Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

src/volser/vos.c

index d89b076..5583289 100644 (file)
@@ -5760,13 +5760,20 @@ EndTrans(struct cmd_syndesc *as, void *arock)
 int
 PrintDiagnostics(char *astring, afs_int32 acode)
 {
-    if (acode == EACCES) {
+    switch (acode) {
+    case EACCES:
        fprintf(STDERR,
                "You are not authorized to perform the 'vos %s' command (%d)\n",
                astring, acode);
-    } else {
+       break;
+    case EXDEV:
+       fprintf(STDERR, "Error in vos %s command.\n", astring);
+       fprintf(STDERR, "Clone volume is not in the same partition as the read-write volume.\n");
+       break;
+    default:
        fprintf(STDERR, "Error in vos %s command.\n", astring);
        PrintError("", acode);
+       break;
     }
     return 0;
 }