]> git.michaelhowe.org Git - packages/o/openafs.git/commitdiff
bos: allow salvage -salvagedirs with -all
authorBenjamin Kaduk <kaduk@mit.edu>
Sun, 6 Nov 2016 21:06:02 +0000 (15:06 -0600)
committerStephan Wiesand <stephan.wiesand@desy.de>
Wed, 30 Nov 2016 19:22:18 +0000 (14:22 -0500)
Allow the -salvagedirs option on bos salvage when invoked with the -all
option to salvage the whole server.   The -salvagedirs -all options will
rebuild every directory on the server.

Reviewed-on: https://gerrit.openafs.org/12457
Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
Tested-by: Mark Vitale <mvitale@sinenomine.net>
Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
(cherry picked from commit 1637c4d7c1ce407390f65509a3a1c764a0c06aa6)

[not actually cherry picked, but is the equivalent functionality]

Change-Id: I3978a5c4a704e0a0f2aab1cfad75573c16496a4d
Reviewed-on: https://gerrit.openafs.org/12462
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
src/bozo/bos.c

index b65961d083274c2ad95eb85de57e14c62b3e7db6..8d0cb6869e359bc17dcdb205bd112d99fc2d4afe 100644 (file)
@@ -1562,9 +1562,18 @@ SalvageCmd(struct cmd_syndesc *as, void *arock)
 
        for (i = MRAFS_OFFSET; i < ADDPARMOFFSET; i++) {
            if (as->parms[i].items) {
-               printf(" %s only possible for MR-AFS fileserver.\n",
-                      as->parms[i].name);
-               stop = 1;
+               if (i == MRAFS_OFFSET + 5) { /* -salvagedirs */
+                   if (as->parms[4].items) { /* -all */
+                       mrafsParm.Optsalvagedirs = 1; /* Let this one slide. */
+                   } else {
+                       printf(" -salvagedirs only possible with -all.\n");
+                       stop = 1;
+                   }
+               } else {
+                   printf(" %s only possible for MR-AFS fileserver.\n",
+                          as->parms[i].name);
+                   stop = 1;
+               }
            }
        }
        if (stop)