Index: openafs/doc/man-pages/README
diff -c openafs/doc/man-pages/README:1.4.2.32 openafs/doc/man-pages/README:1.4.2.33
*** openafs/doc/man-pages/README:1.4.2.32	Mon Jun 30 16:09:40 2008
--- openafs/doc/man-pages/README	Mon Mar 16 22:38:35 2009
***************
*** 247,253 ****
         restorevol
         rmtsysd
         tokens.krb
-        vos setfields
         vsys
  
     * Add -noresolve to the documentation of all the vos commands.
--- 247,252 ----
Index: openafs/doc/man-pages/pod1/pts_membership.pod
diff -c openafs/doc/man-pages/pod1/pts_membership.pod:1.3.2.7 openafs/doc/man-pages/pod1/pts_membership.pod:1.3.2.9
*** openafs/doc/man-pages/pod1/pts_membership.pod:1.3.2.7	Mon Feb  4 12:53:58 2008
--- openafs/doc/man-pages/pod1/pts_membership.pod	Mon Jan 19 18:05:07 2009
***************
*** 34,40 ****
  system:authuser groups, and they do not appear in the list of groups to
  which a user belongs.
  
! To add users or machine to groups, use the pts adduser command; to remove
  them, use the B<pts removeuser> command.
  
  =head1 OPTIONS
--- 34,40 ----
  system:authuser groups, and they do not appear in the list of groups to
  which a user belongs.
  
! To add users or machine to groups, use the B<pts adduser> command; to remove
  them, use the B<pts removeuser> command.
  
  =head1 OPTIONS
***************
*** 112,156 ****
  
  =head1 PRIVILEGE REQUIRED
  
! The required privilege depends on the setting of the third privacy flag in
! the Protection Database entry of each user or group indicated by the
! B<-nameorid> argument (use the B<pts examine> command to display the
  flags):
  
  =over 4
  
  =item *
  
! If it is the hyphen and the B<-nameorid> argument specifies a user, only
! the associated user and members of the system:administrators group can
! list the groups to which the user belongs.
! 
! =item *
! 
! If it is the hyphen and the B<-nameorid> argument specifies a machine,
! only the members of the system:administrators group can list the groups to
! which the machine belongs.
! 
! =item *
! 
! If it is the hyphen and the B<-nameorid> argument specifies a group, only
! the owner of the group and members of the system:administrators group can
! list the members of the group.
! 
! =item *
! 
! If it is lowercase C<m> and the B<-nameorid> argument specifies a user or
! machine entry, the meaning is equivalent to the hyphen.
  
  =item *
  
  If it is lowercase C<m> and the B<-nameorid> argument specifies a group,
! members of the group can also list the other members.
  
  =item *
  
  If it is uppercase C<M>, anyone who can access the cell's database server
! machines can list group memberships.
  
  =back
  
--- 112,146 ----
  
  =head1 PRIVILEGE REQUIRED
  
! Members of the system:ptsviewers and system:administrators groups can
! always use this command in any of its variations.  Additionally, a user
! can always list the groups to which they belong, and the owner of a group
! can always list the members of the group.
! 
! Additional privileges may be granted by the setting of the third privacy
! flag in the Protection Database entry of each user or group indicated by
! the B<-nameorid> argument (use the B<pts examine> command to display the
  flags):
  
  =over 4
  
  =item *
  
! If it is a hyphen, the default permissions described above apply.
  
  =item *
  
  If it is lowercase C<m> and the B<-nameorid> argument specifies a group,
! then members of that group can also list the other members.  A privacy
! flag of C<m> only changes the permissions when set for a group.  Setting
! this flag for a user or a machine has no effect.
  
  =item *
  
  If it is uppercase C<M>, anyone who can access the cell's database server
! machines can list the membership of the group or the groups to which that
! user or machine belongs, depending on what type of entry the flag is set
! on.
  
  =back
  
Index: openafs/doc/man-pages/pod1/vos.pod
diff -c openafs/doc/man-pages/pod1/vos.pod:1.3.2.9 openafs/doc/man-pages/pod1/vos.pod:1.3.2.10
*** openafs/doc/man-pages/pod1/vos.pod:1.3.2.9	Sun Jul 13 19:57:24 2008
--- openafs/doc/man-pages/pod1/vos.pod	Mon Mar 16 22:38:35 2009
***************
*** 90,95 ****
--- 90,99 ----
  
  =item *
  
+ A command to change volume fields: B<vos setfields>.
+ 
+ =item *
+ 
  Commands to obtain help: B<vos apropos> and B<vos help>.
  
  =back
***************
*** 218,223 ****
--- 222,234 ----
  The B<-fromserver> and B<-toserver> arguments to the B<vos move> command
  also accept these name formats.
  
+ =item B<-noresolve>
+ 
+ Shows all servers as IP addresses instead of the DNS name. This is very
+ useful when the server address is registered as 127.0.0.1 or when dealing
+ with multi-homed servers. The B<-noresolve> option is available in OpenAFS
+ versions 1.4.8 or later and 1.5.35 or later.
+ 
  =item B<-verbose>
  
  Produces on the standard output stream a detailed trace of the command's
***************
*** 268,273 ****
--- 279,285 ----
  L<vos_remsite(1)>,
  L<vos_rename(1)>,
  L<vos_restore(1)>,
+ L<vos_setfields(1)>,
  L<vos_shadow(1)>,
  L<vos_size(1)>,
  L<vos_status(1)>,
Index: openafs/doc/man-pages/pod1/vos_examine.pod
diff -c openafs/doc/man-pages/pod1/vos_examine.pod:1.3.2.7 openafs/doc/man-pages/pod1/vos_examine.pod:1.3.2.8
*** openafs/doc/man-pages/pod1/vos_examine.pod:1.3.2.7	Tue Feb 19 10:31:08 2008
--- openafs/doc/man-pages/pod1/vos_examine.pod	Sun Feb  1 20:22:43 2009
***************
*** 177,183 ****
  
  The date and time the volume was created, in the C<Creation> field. If the
  volume has been restored with the B<backup diskrestore>, B<backup
! volrestore>, or B<vos restore> command, this is the restore time.
  
  =item *
  
--- 177,191 ----
  
  The date and time the volume was created, in the C<Creation> field. If the
  volume has been restored with the B<backup diskrestore>, B<backup
! volrestore>, or B<vos restore> command, this is the restore time. For a
! read-only volume, this is the last release time.
! 
! =item *
! 
! The date and time this copy of this volume was created, in the C<Copy>
! field.  This is the time when the volume was created on this server and
! partition.  For read-only volumes, it is not updated by a release (unlike
! the Creation date).  The copy date is not stored in volume dumps.
  
  =item *
  
***************
*** 312,317 ****
--- 320,326 ----
          RWrite 5360870981   ROnly 536870982   Backup 536870983
          MaxQuota      40000 K
          Creation    Mon Jun 12 15:22:06 1989
+         Copy        Mon Jun 12 15:22:06 1989
          Last Update Fri Jun 16 09:34:35 1989
          5719 accesses in the past day (i.e., vnode references)
          RWrite: 5360870981   ROnly: 536870982   Backup: 536870983
***************
*** 330,335 ****
--- 339,345 ----
         RWrite 354287190 ROnly          0 Backup 354287192
         MaxQuota       5000 K
         Creation    Wed Nov 25 17:38:57 1992
+        Copy        Wed Nov 25 17:38:57 1992
         Last Update Tue Dec 15 10:46:20 1992
         598 accesses in the past day (i.e., vnode references)
                           Raw Read/Write Stats
Index: openafs/doc/man-pages/pod1/vos_setfields.pod
diff -c /dev/null openafs/doc/man-pages/pod1/vos_setfields.pod:1.1.4.2
*** /dev/null	Wed Mar 25 23:28:15 2009
--- openafs/doc/man-pages/pod1/vos_setfields.pod	Mon Mar 16 22:38:35 2009
***************
*** 0 ****
--- 1,142 ----
+ =head1 NAME
+ 
+ vos_setfields - Sets the quota or clear the access counter on a volume.
+ 
+ =head1 SYNOPSIS
+ 
+ =for html
+ <div class="synopsis">
+ 
+ B<vos setfields> S<<< B<-id> <I<volume name or ID>> >>>
+     S<<< B<-maxquota> <I<quota (KB)>> >>> [B<-clearuse>]
+     S<<< [B<-cell> <I<cell name>>] >>> [B<-noauth>] [B<-localauth>]
+     [B<-verbose>] [B<-encrypt>] [b<-noresolve>] [B<-help>]
+ 
+ B<vos se> S<<< B<-id> <I<volume name or ID>> >>>
+     S<<< B<-maxquota> <I<quota (KB)>> >>> [B<-clearuse>]
+     S<<< [B<-cell> <I<cell name>>] >>> [B<-noauth>] [B<-localauth>]
+     [B<-verbose>] [B<-encrypt>] [b<-noresolve>] [B<-help>]
+ 
+ =for html
+ </div>
+ 
+ =head1 DESCRIPTION
+ 
+ The B<vos setfields> command can set the quota on a volume, and it can
+ clear the access counter on a volume. This command differs from
+ B<fs setquota> because only the volume name is needed to set the quota,
+ whereas the path to the volume is needed with B<fs setquota>.
+ 
+ If the B<-maxquota> and B<-clearuse> flags are missing, then no action is
+ taken.
+ 
+ =head1 CAUTIONS
+ 
+ This command is not effective on read-only or backup volumes.
+ 
+ =head1 OPTIONS
+ 
+ =over 4
+ 
+ =item B<-id> <I<volume name or id>>
+ 
+ Identifies the volume on which to operate, either by its complete name or
+ volume ID number.
+ 
+ =item B<-maxquota> <I<cell name>>
+ 
+ Sets the maximum amount of file server disk space the volume can
+ occupy. Specify the number of one-kilobyte blocks as a positive integer
+ (C<1024> is one megabyte). A value of C<0> sets an unlimited quota, but
+ the size of the disk partition that houses the volume places an absolute
+ limit on the volume's size.
+ 
+ =item B<-clearuse>
+ 
+ Clears the access counter on a volumes, which is shown as C<X accesses in
+ the past day (i.e., vnode references)> in the B<vos examine> output.
+ 
+ =item B<-cell> <I<cell name>>
+ 
+ Names the cell in which to run the command. Do not combine this argument
+ with the B<-localauth> flag. For more details, see L<vos(1)>.
+ 
+ =item B<-noauth>
+ 
+ Assigns the unprivileged identity C<anonymous> to the issuer. Do not
+ combine this flag with the B<-localauth> flag. For more details, see
+ L<vos(1)>.
+ 
+ =item B<-localauth>
+ 
+ Constructs a server ticket using a key from the local
+ F</usr/afs/etc/KeyFile> file. The B<vos> command interpreter presents it
+ to the Volume Server and Volume Location Server during mutual
+ authentication. Do not combine this flag with the B<-cell> argument or
+ B<-noauth> flag. For more details, see L<vos(1)>.
+ 
+ =item B<-encrypt>
+ 
+ Encrypts the command so that the operation's results are not transmitted
+ across the network in clear text.
+ 
+ =item B<-noresolve>
+ 
+ Shows all servers as IP addresses instead of the DNS name. This is very
+ useful when the server address is registered as 127.0.0.1 or when dealing
+ with multi-homed servers. The B<-noresolve> option is available in OpenAFS
+ versions 1.4.8 or later and 1.5.35 or later.
+ 
+ =item B<-verbose>
+ 
+ Produces on the standard output stream a detailed trace of the command's
+ execution. If this argument is omitted, only warnings and error messages
+ appear.
+ 
+ =item B<-help>
+ 
+ Prints the online help for this command. All other valid options are
+ ignored.
+ 
+ =back
+ 
+ =head1 OUTPUT
+ 
+ This command produces no output other than error messages.
+ 
+ =head1 EXAMPLES
+ 
+ To set a 123KB quota on the root.cell volume, the following command may be
+ used:
+ 
+    % vos setfields -id root.cell -maxquota 123
+ 
+ To clear the access counter on the root.cell volume, use the following
+ command:
+ 
+    % vos setfields -id root.cell -clearuse
+ 
+ The above commands may be combined as follows:
+ 
+    % vos setfields -id root.cell -maxquota 123 -clearuse
+ 
+ =head1 PRIVILEGE REQUIRED
+ 
+ The issuer must be listed in the F</usr/afs/etc/UserList> file on the
+ machine specified with the B<-server> argument and on each database server
+ machine. If the B<-localauth> flag is included, the issuer must instead be
+ logged on to a server machine as the local superuser C<root>.
+ 
+ =head1 SEE ALSO
+ 
+ L<fs_setquota(1)>,
+ L<vos(1)>,
+ L<vos_examine(1)>
+ 
+ =head1 COPYRIGHT
+ 
+ Copyright 2009 Jason Edgecombe <jason@rampaginggeek.com>
+ 
+ This documentation is covered by the BSD License as written in the
+ doc/LICENSE file. This man page was written by Jason Edgecombe for
+ OpenAFS.
Index: openafs/doc/man-pages/pod5/NetRestrict.pod
diff -c openafs/doc/man-pages/pod5/NetRestrict.pod:1.1.2.3 openafs/doc/man-pages/pod5/NetRestrict.pod:1.1.2.4
*** openafs/doc/man-pages/pod5/NetRestrict.pod:1.1.2.3	Tue Jun 19 05:06:27 2007
--- openafs/doc/man-pages/pod5/NetRestrict.pod	Tue Jan  6 08:40:27 2009
***************
*** 69,78 ****
  
  The F<NetRestrict> file is in ASCII format. One IP address appears on each
  line, in dotted decimal format. The order of the addresses is not
! significant. The value C<255> is a wildcard that represents all possible
! addresses in that field. For example, the value C<192.12.105.255>
! indicates that the File Server or database server processes do not
! register or use any of the addresses in the C<192.12.105> subnet.
  
  To display the File Server interface addresses registered in the VLDB, use
  the B<vos listaddrs> command.
--- 69,75 ----
  
  The F<NetRestrict> file is in ASCII format. One IP address appears on each
  line, in dotted decimal format. The order of the addresses is not
! significant. 
  
  To display the File Server interface addresses registered in the VLDB, use
  the B<vos listaddrs> command.
Index: openafs/doc/man-pages/pod8/afsd.pod
diff -c openafs/doc/man-pages/pod8/afsd.pod:1.5.2.13 openafs/doc/man-pages/pod8/afsd.pod:1.5.2.14
*** openafs/doc/man-pages/pod8/afsd.pod:1.5.2.13	Sun Mar  9 01:10:27 2008
--- openafs/doc/man-pages/pod8/afsd.pod	Thu Mar 19 22:32:56 2009
***************
*** 29,34 ****
--- 29,35 ----
       [B<-settime>] [B<-shutdown>]
       S<<< [B<-splitcache> <I<RW/RO ratio>>] >>>
       S<<< [B<-stat> <I<number of stat entries>>] >>> [B<-verbose>]
+      [B<-disable-dynamic-vcaches>] 
       S<<< [B<-volumes> <I<number of volume entries>>] >>>
       [B<-waitclose>]
  
***************
*** 669,674 ****
--- 670,682 ----
  Specifies the number of memory structures to allocate for storing volume
  location information. The default value is C<50>.
  
+ =item B<-disable-dynamic-vcaches>
+ 
+ By default, dynamic vcache overrides the B<-stat> option by using the value of
+ B<-stat> (or the default) as the initial size of the stat (or vcache) pool and
+ increases the pool dynamically as needed on supported platforms. This flag will
+ disable this new functionality and honor the '-stat' setting.
+ 
  =item B<-waitclose>
  
  Has no effect on the operation of the Cache Manager. The behavior it
Index: openafs/doc/man-pages/pod8/fileserver.pod
diff -c openafs/doc/man-pages/pod8/fileserver.pod:1.4.2.16 openafs/doc/man-pages/pod8/fileserver.pod:1.4.2.19
*** openafs/doc/man-pages/pod8/fileserver.pod:1.4.2.16	Sun Aug 24 21:15:22 2008
--- openafs/doc/man-pages/pod8/fileserver.pod	Tue Nov 11 21:31:21 2008
***************
*** 170,182 ****
  
  The File Server stores volumes in partitions. A partition is a
  filesystem or directory on the server machine that is named C</vicepX>
! or C</vicepXX> where XX is "a" through "z" or "aa" though "zz". The
! File Server expects that the /vicepXX directories are each on a
! dedicated filesystem. The File Server will only use a /vicepXX if it's
! a mountpoint for another filesystem, unless the file
! C</vicepXX/AlwaysAttach> exists. The data in the partition is a
! special format that can only be access using OpenAFS commands or an
! OpenAFS client.
  
  The File Server generates the following message when a partition is nearly
  full:
--- 170,182 ----
  
  The File Server stores volumes in partitions. A partition is a
  filesystem or directory on the server machine that is named C</vicepX>
! or C</vicepXX> where XX is "a" through "z" or "aa" though "iv". Up to
! 255 partitions are allowed. The File Server expects that the /vicepXX
! directories are each on a dedicated filesystem. The File Server will
! only use a /vicepXX if it's a mountpoint for another filesystem,
! unless the file C</vicepXX/AlwaysAttach> exists. The data in the
! partition is a special format that can only be access using OpenAFS
! commands or an OpenAFS client.
  
  The File Server generates the following message when a partition is nearly
  full:
***************
*** 204,224 ****
  option only on the relevant system type.
  
  Currently, the maximum size of a volume is 2 terabytes (2^31 bytes)
! and the maximum size of a /vicepX partition on a fileserver is also 2
! terabytes. The fileserver will not report an error when it has access
! to a partition larger than 2 terabytes, but it will probably fail if
! the administrator attempts to use more than 2 terabytes of space. In
! addition, there are reports of erroneous disk usage numbers when
! B<vos partinfo> or other OpenAFS disk reporting tools are used with
! partitions larger than 2 terabytes.
! 
! The maximum number of directory entries is 64,000 if all of the
! entries have names that are 15 characters or less in length. A name
! that is 15 characters long requires the use of only one block in the
! directory. Additional sequential blocks are required to store entries
! with names that are longer than 15 characters. Each additional block
! provides an additional length of 32 characters for the name of the
! entry.
  
  In real world use, the maximum number of objects in an AFS directory
  is usually between 16,000 and 25,000, depending on the average name
--- 204,221 ----
  option only on the relevant system type.
  
  Currently, the maximum size of a volume is 2 terabytes (2^31 bytes)
! and the maximum size of a /vicepX partition on a fileserver is 2^64
! kilobytes. The maximum partition size in releases 1.4.7 and earlier is
! 2 terabytes (2^31 bytes). The maximum partition size for 1.5.x
! releases 1.5.34 and earlier is 2 terabytes as well.
!   
! The maximum number of directory entries is 64,000 if all of the entries
! have names that are 15 octets or less in length. A name that is 15 octets
! long requires the use of only one block in the directory. Additional
! sequential blocks are required to store entries with names that are longer
! than 15 octets. Each additional block provides an additional length of 32
! octets for the name of the entry. Note that if file names use an encoding
! like UTF-8, a single character may be encoded into multiple octets.
  
  In real world use, the maximum number of objects in an AFS directory
  is usually between 16,000 and 25,000, depending on the average name
***************
*** 247,254 ****
  number, the File Server automatically uses five of the threads for its own
  purposes).
  
! The maximum number of threads can differ in each release of AFS.  Consult
! the I<IBM AFS Release Notes> for the current release.
  
  =item B<-spare> <I<number of spare blocks>>
  
--- 244,251 ----
  number, the File Server automatically uses five of the threads for its own
  purposes).
  
! The maximum number of threads can differ in each release of OpenAFS.
! Consult the I<OpenAFS Release Notes> for the current release.
  
  =item B<-spare> <I<number of spare blocks>>
  
Index: openafs/doc/man-pages/pod8/salvager.pod
diff -c openafs/doc/man-pages/pod8/salvager.pod:1.3.2.5 openafs/doc/man-pages/pod8/salvager.pod:1.3.2.6
*** openafs/doc/man-pages/pod8/salvager.pod:1.3.2.5	Wed Mar  1 00:11:28 2006
--- openafs/doc/man-pages/pod8/salvager.pod	Sun Feb  1 20:23:16 2009
***************
*** 102,112 ****
  constantly moving the disk head from one partition to another. However,
  this strategy is often not ideal if the partitions are configured as
  logical volumes that span multiple disks. To force the Salvager to salvage
! logical volumes in parallel, provide the string C<all> as the value for
! the B<-parallel> argument. Provide a positive integer to specify the
! number of subprocesses to run in parallel (for example, C<-parallel 5all>
! for five subprocesses), or omit the integer to run up to four
! subprocesses, depending on the number of logical volumes being salvaged.
  
  The Salvager creates temporary files as it runs, by default writing them
  to the partition it is salvaging. The number of files can be quite large,
--- 102,114 ----
  constantly moving the disk head from one partition to another. However,
  this strategy is often not ideal if the partitions are configured as
  logical volumes that span multiple disks. To force the Salvager to salvage
! logical volumes in parallel as if they were on separate disks, provide the
! string C<all> as the value for the B<-parallel> argument.
! 
! To set both parameters at the same time, append the number of Salvager
! processes to the string C<all>. For example, C<-parallel all5> treats
! each partition as a separate disk and runs five Salvager processes, thus
! salvaging five partitions at a time.
  
  The Salvager creates temporary files as it runs, by default writing them
  to the partition it is salvaging. The number of files can be quite large,
***************
*** 230,236 ****
  The BOS Server never starts more Salvager subprocesses than there are
  partitions, and always starts only one process to salvage a single
  volume. If this argument is omitted, up to four Salvager subprocesses run
! in parallel.
  
  =item B<-tmpdir> <I<name of dir to place tmp files>>
  
--- 232,238 ----
  The BOS Server never starts more Salvager subprocesses than there are
  partitions, and always starts only one process to salvage a single
  volume. If this argument is omitted, up to four Salvager subprocesses run
! in parallel but partitions on the same device are salvaged serially.
  
  =item B<-tmpdir> <I<name of dir to place tmp files>>
  
Index: openafs/doc/man-pages/pod8/vldb_check.pod
diff -c openafs/doc/man-pages/pod8/vldb_check.pod:1.3.2.5 openafs/doc/man-pages/pod8/vldb_check.pod:1.3.2.6
*** openafs/doc/man-pages/pod8/vldb_check.pod:1.3.2.5	Wed Mar  1 00:11:29 2006
--- openafs/doc/man-pages/pod8/vldb_check.pod	Mon Feb 16 23:17:22 2009
***************
*** 8,14 ****
  <div class="synopsis">
  
  B<vldb_check> S<<< B<-database> <I<vldb file>> >>> [B<-uheader>] [B<-vheader>]
!     [B<-servers>] [B<-entries>] [B<-verbose>] [B<-help>]
  
  B<vldb_check> S<<< B<-d> <I<vldb file>> >>> [B<-u>] [B<-vh>] [B<-s>] [B<-e>]
      [B<-ve>] [B<-h>]
--- 8,14 ----
  <div class="synopsis">
  
  B<vldb_check> S<<< B<-database> <I<vldb file>> >>> [B<-uheader>] [B<-vheader>]
!     [B<-servers>] [B<-entries>] [B<-quiet> | B<-verbose>] [B<-help>]
  
  B<vldb_check> S<<< B<-d> <I<vldb file>> >>> [B<-u>] [B<-vh>] [B<-s>] [B<-e>]
      [B<-ve>] [B<-h>]
***************
*** 60,69 ****
  Outputs every volume entry in the database. The information includes the
  volume's name and the volume ID number for each of its versions.
  
  =item B<-verbose>
  
  Reports additional information about the database, including the number of
! entries for each type of volume.
  
  =item B<-help>
  
--- 60,74 ----
  Outputs every volume entry in the database. The information includes the
  volume's name and the volume ID number for each of its versions.
  
+ =item B<-quiet>
+ 
+ Blocks output from going to stdout. Output to stderr is not blocked. Cannot
+ be used with -verbose, -uheader, -servers or -entries.
+ 
  =item B<-verbose>
  
  Reports additional information about the database, including the number of
! entries for each type of volume. Cannot be used with -quiet.
  
  =item B<-help>
  
***************
*** 81,86 ****
--- 86,101 ----
  output is intended for debugging purposes and is meaningful to someone
  familiar with the internal structure of the VLDB.
  
+ The B<-quiet> option can be used to supress the standard output stream
+ so that the command can be used more easily inside scripts. 
+ 
+ The command exits with one of the following completion codes:
+ 
+ 0: No errors or warnings have been encountered.
+ 1: One or more warnings encountered.
+ 2: One or more warnings and/or errors encountered.
+ 4: A fatal or internal error has occurred and the program cannot proceed.
+ 
  =head1 PRIVILEGE REQUIRED
  
  The issuer must be logged in as the local superuser C<root>.
