viced: make -vhashsize usable for non-DAFS 87/12287/4
authorBenjamin Kaduk <kaduk@mit.edu>
Sun, 15 May 2016 18:51:56 +0000 (13:51 -0500)
committerBenjamin Kaduk <kaduk@mit.edu>
Tue, 5 Jul 2016 23:04:33 +0000 (19:04 -0400)
The ability to set the size of the volume hash table was added
at the same time that DAFS was introduced, and got caught up
in the same preprocessor conditional.  However, -vhashsize can
be useful for the traditional fileserver as well (even though
we recommend DAFS over the traditional fileserver), so let it
be used in that case.

Update the man pages accordingly and fix some grammar while here.

Noted by Mark Vitale.

Change-Id: Ic3282c9d661d60cf36f9ffb197e723a3f71da167
Reviewed-on: https://gerrit.openafs.org/12287
Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

doc/man-pages/pod8/dafileserver.pod.in
doc/man-pages/pod8/fragments/fileserver-options.pod
doc/man-pages/pod8/fragments/fileserver-synopsis.pod
src/viced/viced.c
src/vol/volume.h

index fe30f6d..8fceb7f 100644 (file)
@@ -55,14 +55,6 @@ prior to save and following a restore.
 
 The default is C<both>.
 
-=item B<-vhashsize <I<size>>
-
-The log(2) number of of volume hash buckets.  Default is 8 (i.e., by
-default, there are 2^8 = 256 volume hash buckets). The minimum that can
-be specified is 6 (64 hash buckets). In OpenAFS 1.5.77 and earlier, the
-maximum that can be specified is 14 (16384 buckets). After 1.5.77, the
-maximum that can be specified is 28 (268435456 buckets).
-
 =item B<-vlrudisable>
 
 This option completely disables the VLRU mechanism, which means volumes will
index a73965c..f771823 100644 (file)
@@ -455,6 +455,14 @@ Note that this option is intended for debugging and testing purposes.
 Changing the location of the log file from the command line may result
 in undesirable interactions with tools such as B<bos>.
 
+=item B<-vhashsize <I<size>>
+
+The log(2) of the number of volume hash buckets.  Default is 8 (i.e., by
+default, there are 2^8 = 256 volume hash buckets). The minimum that can
+be specified is 6 (64 hash buckets). In OpenAFS 1.5.77 and earlier, the
+maximum that can be specified is 14 (16384 buckets). After 1.5.77, the
+maximum that can be specified is 28 (268435456 buckets).
+
 =item B<-config> <I<configuration directory>>
 
 Set the location of the configuration directory used to configure this
index 98d346b..c949d6e 100644 (file)
@@ -46,6 +46,7 @@ B<fileserver>
     S<<< [B<-vattachpar> <I<number of volume attach threads>>] >>>
     S<<< [B<-m> <I<min percentage spare in partition>>] >>>
     S<<< [B<-lock>] >>>
+    S<<< [B<-vhashsize> <I<log(2) of number of volume hash buckets>>] >>>
     S<<< [B<-offline-timeout> <I<timeout in seconds>>] >>>
     S<<< [B<-offline-shutdown-timeout> <I<timeout in seconds>>] >>>
     S<<< [B<-sync> <I<sync behavior>>] >>>
index 2dbac80..165ed55 100644 (file)
@@ -1023,6 +1023,9 @@ ParseArgs(int argc, char *argv[])
     cmd_AddParmAtOffset(opts, OPT_vhandle_initial_cachesize,
                        "-vhandle-initial-cachesize", CMD_SINGLE,
                        CMD_OPTIONAL, "# fds reserved for cache IO");
+    cmd_AddParmAtOffset(opts, OPT_vhashsize, "-vhashsize",
+                       CMD_SINGLE, CMD_OPTIONAL,
+                       "log(2) of # of volume hash buckets");
 
 #ifdef AFS_DEMAND_ATTACH_FS
     /* dafs options */
@@ -1034,9 +1037,6 @@ ParseArgs(int argc, char *argv[])
                        "disable state restore during startup");
     cmd_AddParmAtOffset(opts, OPT_fs_state_verify, "-fs-state-verify",
                        CMD_SINGLE, CMD_OPTIONAL, "none|save|restore|both");
-    cmd_AddParmAtOffset(opts, OPT_vhashsize, "-vhashsize",
-                       CMD_SINGLE, CMD_OPTIONAL,
-                       "log(2) of # of volume hash buckets");
     cmd_AddParmAtOffset(opts, OPT_vlrudisable, "-vlrudisable",
                        CMD_FLAG, CMD_OPTIONAL, "disable VLRU functionality");
     cmd_AddParmAtOffset(opts, OPT_vlruthresh, "-vlruthresh",
@@ -1251,6 +1251,13 @@ ParseArgs(int argc, char *argv[])
            return -1;
        }
     }
+    if (cmd_OptionAsInt(opts, OPT_vhashsize, &optval) == 0) {
+       if (VSetVolHashSize(optval)) {
+           fprintf(stderr, "specified -vhashsize (%d) is invalid or out "
+                           "of range\n", optval);
+           return -1;
+       }
+    }
 
 #ifdef AFS_DEMAND_ATTACH_FS
     if (cmd_OptionPresent(opts, OPT_fs_state_dont_save))
@@ -1272,13 +1279,6 @@ ParseArgs(int argc, char *argv[])
            return -1;
        }
     }
-    if (cmd_OptionAsInt(opts, OPT_vhashsize, &optval) == 0) {
-       if (VSetVolHashSize(optval)) {
-           fprintf(stderr, "specified -vhashsize (%d) is invalid or out "
-                           "of range\n", optval);
-           return -1;
-       }
-    }
     if (cmd_OptionPresent(opts, OPT_vlrudisable))
        VLRU_SetOptions(VLRU_SET_ENABLED, 0);
     if (cmd_OptionAsInt(opts, OPT_vlruthresh, &optval) == 0)
index c0b74a6..bdbf084 100644 (file)
@@ -859,6 +859,8 @@ extern int VLockFileLock(struct VLockFile *lf, afs_uint32 offset,
                          int locktype, int nonblock);
 extern void VLockFileUnlock(struct VLockFile *lf, afs_uint32 offset);
 
+extern int VSetVolHashSize(int logsize);
+
 #ifdef AFS_DEMAND_ATTACH_FS
 extern Volume *VPreAttachVolumeByName(Error * ec, char *partition, char *name);
 extern Volume *VPreAttachVolumeByName_r(Error * ec, char *partition, char *name);
@@ -878,7 +880,6 @@ extern int VDisconnectSALV_r(void);
 extern void VPrintExtendedCacheStats(int flags);
 extern void VPrintExtendedCacheStats_r(int flags);
 extern void VLRU_SetOptions(int option, afs_uint32 val);
-extern int VSetVolHashSize(int logsize);
 extern int VRequestSalvage_r(Error * ec, Volume * vp, int reason, int flags);
 extern int VUpdateSalvagePriority_r(Volume * vp);
 extern int VRegisterVolOp_r(Volume * vp, FSSYNC_VolOp_info * vopinfo);