Index: openafs/doc/arch/README
diff -c /dev/null openafs/doc/arch/README:1.1.2.2
*** /dev/null Mon Apr 21 17:11:51 2008
--- openafs/doc/arch/README Fri Mar 14 14:51:52 2008
***************
*** 0 ****
--- 1,7 ----
+ dafs-fsa.dot is a description of the finite-state machine for volume
+ states in the Demand Attach fileserver in Dot (http://www.graphviz.org)
+ format. An invocation like:
+
+ dot -Tsvg dafs-fsa.dot > dafs-fsa.svg
+
+ will convert the description to an SVG file.
Index: openafs/doc/arch/dafs-fsa.dot
diff -c /dev/null openafs/doc/arch/dafs-fsa.dot:1.1.2.2
*** /dev/null Mon Apr 21 17:11:51 2008
--- openafs/doc/arch/dafs-fsa.dot Fri Mar 14 14:51:52 2008
***************
*** 0 ****
--- 1,109 ----
+ #
+ # This is a dot (http://www.graphviz.org) description of the various
+ # states volumes can be in for DAFS (Demand Attach File Server).
+ #
+ # Author: Steven Jenkins
+ # Date: 2007-05-24
+ #
+
+ digraph VolumeStates {
+ size="11,17"
+ graph [
+ rankdir = "TB"
+ ];
+
+ subgraph clusterKey {
+ rankdir="LR";
+ shape = "rectangle";
+
+ s1 [ shape=plaintext, label = "VPut after VDetach in brown",
+ fontcolor="brown" ];
+ s2 [ shape=plaintext, label = "VAttach in blue",
+ fontcolor="blue" ];
+ s3 [ shape=plaintext, label = "VGet/VHold in purple",
+ fontcolor="purple" ];
+ s4 [ shape=plaintext, label = "Error States in red",
+ fontcolor="red" ];
+ s5 [ shape=plaintext, label = "VPut after VOffline in green",
+ fontcolor="green" ];
+ s6 [ shape=ellipse, label = "re-entrant" ];
+ s7 [ shape=ellipse, peripheries=2, label="non re-entrant" ];
+ s8 [ shape=ellipse, color="red", label="Error States" ];
+
+ s6->s7->s8->s1->s2->s3->s4->s5 [style="invis"];
+
+ }
+
+ node [ peripheries = "2" ] ATTACHING \
+ LOADING_VNODE_BITMAPS HDR_LOADING_FROM_DISK \
+ HDR_ATTACHING_LRU_PULL \
+ "UPDATING\nSYNCING_VOL_HDR_TO_DISK" \
+ OFFLINING DETACHING;
+ node [ shape = "ellipse", peripheries = "1" ];
+ node [ color = "red" ] HARD_ERROR SALVAGE_REQUESTED SALVAGING;
+
+ node [ color = "black" ]; // default back to black
+
+ UNATTACHED->Exclusive_vol_op_executing [label = "controlled by FSSYNC" ];
+ Exclusive_vol_op_executing->UNATTACHED [label = "controlled by FSSYNC" ];
+ UNATTACHED->FREED [ label = "VCancelReservation_r() after a\nVDetach() or FreeVolume() will\ncause CheckDetach() or CheckFree() to fire" ];
+ OFFLINING->UNATTACHED;
+ UNATTACHED->PREATTACHED [ color = "orange", label = "PreAttach()" ];
+ PREATTACHED->UNATTACHED [ color = "orange", label = "VOffline()"];
+ HARD_ERROR->PREATTACHED [ color = "orange", label = "operator intervention via FSSYNC" ];
+
+ PREATTACHED->Exclusive_vol_op_executing [color = "orange", label = "controlled by FSSYNC" ];
+ Exclusive_vol_op_executing->PREATTACHED [color = "orange", label = "controlled by FSSYNC" ];
+ PREATTACHED->FREED [ color = "orange", label = "VCancelReservation_r() after a\nVDetach() or FreeVolume() will\ncause CheckDetach() or CheckFree() to fire" ];
+ PREATTACHED->ATTACHING [ color = "blue", weight = "8" ];
+ SALVAGING->PREATTACHED [ label = "controlled via FSSYNC" ];
+
+ DETACHING->FREED ;
+ SHUTTING_DOWN->DETACHING [ color = "brown" ];
+ ATTACHED_nUsers_GT_0->SHUTTING_DOWN [ color = "orange", label = "VDetach()" ];
+
+ DETACHING->"UPDATING\nSYNCING_VOL_HDR_TO_DISK" [ color = "brown" ];
+ "UPDATING\nSYNCING_VOL_HDR_TO_DISK"->DETACHING [ color = "brown" ];
+ OFFLINING->"UPDATING\nSYNCING_VOL_HDR_TO_DISK" [ color = "green" ];
+ "UPDATING\nSYNCING_VOL_HDR_TO_DISK"->OFFLINING [ color = "green" ];
+ GOING_OFFLINE->OFFLINING [ color = "green" ];
+
+ "UPDATING\nSYNCING_VOL_HDR_TO_DISK"->SALVAGE_REQUESTED [ color = "red" ];
+ "UPDATING\nSYNCING_VOL_HDR_TO_DISK"->ATTACHING [ color = "blue" ];
+ ATTACHING->"UPDATING\nSYNCING_VOL_HDR_TO_DISK" [ color = "blue" ];
+
+ ATTACHED_nUsers_GT_0->GOING_OFFLINE [ color = "orange", label = "VOffline" ];
+ ATTACHED_nUsers_GT_0->ATTACHED_nUsers_EQ_0 [ color = "orange", label = "VPut" ];
+
+ ATTACHED_nUsers_GT_0->SALVAGE_REQUESTED [ color = "red" ];
+
+ LOADING_VNODE_BITMAPS->ATTACHING [ color = "blue" ];
+ ATTACHING->LOADING_VNODE_BITMAPS [ color = "blue" ] ;
+ LOADING_VNODE_BITMAPS->SALVAGE_REQUESTED [ color = "red" ];
+ HDR_LOADING_FROM_DISK->SALVAGE_REQUESTED [ color = "red" ];
+ HDR_LOADING_FROM_DISK->ATTACHING [ color = "blue" ] ;
+ HDR_LOADING_FROM_DISK->ATTACHED_nUsers_GT_0 [ color = "purple" ];
+
+ SALVAGE_REQUESTED->SALVAGING [ label = "controlled via FSSYNC" ];
+ SALVAGE_REQUESTED->HARD_ERROR [ color = "red",
+ label = "After hard salvage limit reached,\n hard error state is in effect\nuntil there is operator intervention" ];
+
+ HDR_ATTACHING_LRU_PULL->HDR_LOADING_FROM_DISK [ color = "blue" ];
+ HDR_ATTACHING_LRU_PULL->HDR_LOADING_FROM_DISK [ color = "purple" ];
+ HDR_ATTACHING_LRU_PULL->ATTACHED_nUsers_GT_0 [ color = "purple", label = "header can be in LRU\nand not have been reclaimed\nthus skipping disk I/O" ];
+
+ ATTACHING->HDR_ATTACHING_LRU_PULL [ color = "blue" ];
+ ATTACHING->ATTACHED_nUsers_EQ_0 [ color = "blue" ];
+
+ ATTACHING->SALVAGE_REQUESTED [ color = "red" ];
+ ATTACHED_nUsers_EQ_0->HDR_ATTACHING_LRU_PULL [ color = "purple" ];
+
+ ATTACHED_nUsers_EQ_0->SALVAGE_REQUESTED [ color = "red" ];
+
+ // Various loopback transitions
+ GOING_OFFLINE->GOING_OFFLINE [ label = "VPut when (nUsers > 1)" ];
+ SHUTTING_DOWN->SHUTTING_DOWN
+ [ label = "VPut when ((nUsers > 1) ||\n((nUsers == 1) && (nWaiters > 0)))" ];
+ SHUTTING_DOWN->SHUTTING_DOWN
+ [ label = "VCancelReservation_r when ((nWaiters > 1)\n|| ((nWaiters == 1) && (nUsers > 0)))"];
+ }
Index: openafs/doc/man-pages/README
diff -c openafs/doc/man-pages/README:1.8.2.17 openafs/doc/man-pages/README:1.8.2.18
*** openafs/doc/man-pages/README:1.8.2.17 Tue Feb 19 10:28:55 2008
--- openafs/doc/man-pages/README Tue Apr 1 02:57:18 2008
***************
*** 213,219 ****
vldb_convert
vos clone
vos setfields
- vos shadow
vsys
* klog.krb, pagsh.krb, and tokens.krb need to be listed as alternative
--- 213,218 ----
Index: openafs/doc/man-pages/pod1/vos_shadow.pod
diff -c /dev/null openafs/doc/man-pages/pod1/vos_shadow.pod:1.1.2.2
*** /dev/null Mon Apr 21 17:11:52 2008
--- openafs/doc/man-pages/pod1/vos_shadow.pod Tue Apr 1 02:57:19 2008
***************
*** 0 ****
--- 1,174 ----
+ =head1 NAME
+
+ vos_shadow - Creates a shadow copy of a volume on a different server/partition
+
+ =head1 SYNOPSIS
+
+ =for html
+
+
+ B S<<< [B<-id>] > >>>
+ S<<< [B<-fromserver>] > >>>
+ S<<< [B<-frompartition>] > >>>
+ S<<< [B<-toserver>] > >>>
+ S<<< [B<-topartition>] > >>>
+ S<<< [B<-toname> >] >>>
+ S<<< [B<-toid> >] >>> [B<-offline>] [B<-readonly>]
+ [B<-live>] [B<-incremental>] S<<< [B<-cell> >] >>> [B<-noauth>]
+ [B<-localauth>] [B<-verbose>] [B<-encrypt>] [B<-help>]
+
+ =for html
+
+
+ =head1 DESCRIPTION
+
+ The B command creates a shadow copy of a volume on a
+ different partition or server.
+
+ A shadow volume is a copy of a volume that does not normally appear in
+ the volume location database (VLDB). It is a primitive operation that
+ is meant to be used in backup or disaster recovery situations.
+
+ =head1 CAUTIONS
+
+ This command is not used during normal OpenAFS administration and may
+ have adverse effects on the VLDB if not used properly! This command
+ should only be used by an expert.
+
+ Using this command on a volume when the source volume is not the same
+ as parent volume used to create the shadow will leave the destination
+ volume in a unknown state.
+
+ Do NOT run the B or B on any fileserver
+ containing shadow volumes. This would update the VLDB to show all
+ shadowed Read/Write volumes instead of the source volumes from which
+ they were copied.
+
+ Currently, the maximum size of a volume is 2 terabytes (2^31 bytes).
+
+ =head1 OPTIONS
+
+ =over 4
+
+ =item [B<-id>] >
+
+ Specifies either the complete name or volume ID number of a read/write
+ volume.
+
+ =item [B<-fromserver>] >
+
+ Identifies the file server machine where the source volume resides. Provide
+ the machine's IP address or its host name (either fully qualified or using
+ an unambiguous abbreviation). For details, see L.
+
+ =item [B<-frompartition>] >
+
+ Names the partition where the source volume resides. Provide the full
+ partition name (for, example, B) or one of the abbreviated forms
+ described in L.
+
+ =item [B<-toserver>] >
+
+ Identifies the file server machine to which to copy the volume. Provide
+ the machine's IP address or its host name (either fully qualified or using
+ an unambiguous abbreviation). For details, see L.
+
+ =item [B<-topartition>] >
+
+ Names the partition to which to copy the volume. Provide the full partition
+ name (for, example, B) or one of the abbreviated forms described in
+ L.
+
+ =item B<-toname> >
+
+ The complete name of the new volume to create.
+
+ =item B<-offline>
+
+ Leaves the new volume flagged as off-line in the volume database.
+
+ =item B<-readonly>
+
+ Flags the new volume as read-only in the volume database.
+
+ =item B<-live>
+
+ Copies the live volume without cloning. This is normally not necessary and
+ causes the volume to be kept locked for longer than the normal copy
+ mechanism.
+
+ =item B<-incremental>
+
+ Copy the changes from the source volume to a previously created shadow
+ volume.
+
+ =item B<-cell> >
+
+ Names the cell in which to run the command. Do not combine this argument
+ with the B<-localauth> flag. For more details, see L.
+
+ =item B<-noauth>
+
+ Assigns the unprivileged identity C to the issuer. Do not
+ combine this flag with the B<-localauth> flag. For more details, see
+ L.
+
+ =item B<-localauth>
+
+ Constructs a server ticket using a key from the local
+ F file. The B 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.
+
+ =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<-encrypt>
+
+ Encrypts the command so that the operation's results are not transmitted
+ across the network in clear text.
+
+ =item B<-help>
+
+ Prints the online help for this command. All other valid options are
+ ignored.
+
+ =back
+
+ =head1 OUTPUT
+
+ This command has no output unless C<-verbose> is specified or there is
+ an error.
+
+ =head1 PRIVILEGE REQUIRED
+
+ The issuer must be listed in the F file on the
+ machines specified with the B<-toserver> and B<-fromserver> arguments 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.
+
+ =head1 SEE ALSO
+
+ L,
+ L,
+ L,
+ L
+
+ L
+ discusses motivation for the creation of this command.
+
+ L discusses
+ one possible use for it.
+
+ =head1 COPYRIGHT
+
+ Copyright 2008 Jason Edgecombe
+
+ 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/pod8/buserver.pod
diff -c openafs/doc/man-pages/pod8/buserver.pod:1.5 openafs/doc/man-pages/pod8/buserver.pod:1.5.2.1
*** openafs/doc/man-pages/pod8/buserver.pod:1.5 Wed Mar 1 00:02:31 2006
--- openafs/doc/man-pages/pod8/buserver.pod Wed Apr 2 15:51:53 2008
***************
*** 9,16 ****
B S<<< [B<-database> >] >>>
S<<< [B<-cellservdb> >] >>> [B<-resetdb>]
! [B<-noauth>] [B<-smallht>] [-servers >+]
! [B<-enable_peer_stats>] [-enable_process_stats] [B<-help>]
=for html
--- 9,17 ----
B S<<< [B<-database> >] >>>
S<<< [B<-cellservdb> >] >>> [B<-resetdb>]
! [B<-noauth>] [B<-smallht>] [B<-servers> >+]
! [B<-enable_peer_stats>] [B<-enable_process_stats>] [B<-rxbind>]
! [B<-p> >] [B<-help>]
=for html
***************
*** 115,120 ****
--- 116,131 ----
other machines. To display or otherwise access the records, use the Rx
Monitoring API.
+ =item B<-rxbind>
+
+ Bind the Rx socket to the primary interface only. (If not specified, the
+ Rx socket will listen on all interfaces.)
+
+ =item B<-p> >
+
+ Sets the number of server lightweight processes (LWPs or pthreads) to run.
+ Provide a positive integer from the range 3 to 16. The default value is 3.
+
=item B<-help>
Prints the online help for this command. All other valid options are
Index: openafs/doc/man-pages/pod8/ptserver.pod
diff -c openafs/doc/man-pages/pod8/ptserver.pod:1.3.2.1 openafs/doc/man-pages/pod8/ptserver.pod:1.3.2.2
*** openafs/doc/man-pages/pod8/ptserver.pod:1.3.2.1 Tue Jan 22 23:18:10 2008
--- openafs/doc/man-pages/pod8/ptserver.pod Wed Apr 2 15:51:53 2008
***************
*** 7,15 ****
=for html
! B
S<<< [B<-database> >] >>> S<<< [B<-p> >] >>>
[B<-rebuildDB>] [B<-enable_peer_stats>] [B<-enable_process_stats>]
! [B<-allow-dotted-principal>] [B<-help>]
=for html
--- 7,15 ----
=for html
! B
S<<< [B<-database> >] >>> S<<< [B<-p> >] >>>
[B<-rebuildDB>] [B<-enable_peer_stats>] [B<-enable_process_stats>]
! [B<-allow-dotted-principal>] [B<-rxbind>] [B<-help>]
=for html
***************
*** 63,72 ****
example, the appropriate value for the default database files is
F.
! =item B<-p> >
! Sets the number of server lightweight processes (LWPs) to run. Provide a
! positive integer from the range C<3> to C<16>. The default value is C<3>.
=item B<-rebuildDB>
--- 63,73 ----
example, the appropriate value for the default database files is
F.
! =item B<-p> >
! Sets the number of server lightweight processes (LWPs or pthreads) to run.
! Provide a positive integer from the range C<3> to C<16>. The default
! value is C<3>.
=item B<-rebuildDB>
***************
*** 99,104 ****
--- 100,110 ----
between principal names may disable this check by starting the server
with this option.
+ =item B<-rxbind>
+
+ Bind the Rx socket to the primary interface only. (If not specified, the
+ Rx socket will listen on all interfaces.)
+
=item B<-help>
Prints the online help for this command. All other valid options are
Index: openafs/doc/man-pages/pod8/vlserver.pod
diff -c openafs/doc/man-pages/pod8/vlserver.pod:1.3.2.1 openafs/doc/man-pages/pod8/vlserver.pod:1.3.2.2
*** openafs/doc/man-pages/pod8/vlserver.pod:1.3.2.1 Tue Jan 22 23:18:10 2008
--- openafs/doc/man-pages/pod8/vlserver.pod Wed Apr 2 15:51:53 2008
***************
*** 7,13 ****
=for html
! B
S<<< [B<-p> >] >>> [B<-nojumbo>]
[B<-allow-dotted-principal>] [B<-enable_peer_stats>] [B<-enable_process_stats>]
[B<-help>]
--- 7,13 ----
=for html
! B S<<< [B<-p> >] >>> [B<-nojumbo>] [B<-rxbind>]
[B<-allow-dotted-principal>] [B<-enable_peer_stats>] [B<-enable_process_stats>]
[B<-help>]
***************
*** 55,64 ****
=over 4
! =item B<-p> >
! Sets the number of server lightweight processes (LWPs) to run. Provide an
! integer between C<4> and C<16>. The default is C<9>.
=item B<-nojumbo>
--- 55,64 ----
=over 4
! =item B<-p> >
! Sets the number of server lightweight processes (LWPs or pthreads) to run.
! Provide an integer between C<3> and C<16>. The default is C<9>.
=item B<-nojumbo>
***************
*** 93,98 ****
--- 93,103 ----
between principal names may disable this check by starting the server
with this option.
+ =item B<-rxbind>
+
+ Bind the Rx socket to the primary interface only. (If not specified, the
+ Rx socket will listen on all interfaces.)
+
=item B<-help>
Prints the online help for this command. All other valid options are
Index: openafs/doc/txt/winnotes/afs-changes-since-1.2.txt
diff -c openafs/doc/txt/winnotes/afs-changes-since-1.2.txt:1.72.2.50 openafs/doc/txt/winnotes/afs-changes-since-1.2.txt:1.72.2.51
*** openafs/doc/txt/winnotes/afs-changes-since-1.2.txt:1.72.2.50 Fri Mar 21 13:17:41 2008
--- openafs/doc/txt/winnotes/afs-changes-since-1.2.txt Mon Apr 21 11:51:28 2008
***************
*** 1,3 ****
--- 1,46 ----
+ Since 1.5.34
+ * Fix a bug preventing the re-initialization of the Freelance
+ root.cell contents when a change is made.
+
+ * Properly return CM_ERROR_NOSUCHFILE when removing a symlink
+ or mountpoint that does not exist.
+
+ * aklog, afscreds, integrated logon, and the NIM AFS credential
+ provider will all attempt to first acquire an afs service ticket
+ using the service principal: afs/@. This
+ permits the proper detection of the cell realm when multiple
+ realms are local realms for the cell.
+
+ * Fix fs commands that re-use file identifiers instead of forcing
+ a path evaluation each time. This was broken in 1.5.33 when
+ hashes were added to the cm_fid_t structure.
+
+ * Fix symlink and mountpoint removal and then recreation when
+ applied to the fake Freelance root.afs volume.
+
+ * Fix SMB change notifications for the Freelance root.afs volume
+ when creating or removing symlinks and mount points.
+
+ * Force DNS AFSDB cell name lookups to lower case if the DNS
+ response is not all lower case.
+
+ * 32-bit installers are now built with Visual Studio 2005
+
+ * All vos.exe commands now support the "-noresolve" option which
+ forces the display of IP addresses instead of DNS hostnames.
+
+ * No longer hold the cm_volume_t mutex across VL_xxx RPCs. This
+ permits operations that do not require up to date volume
+ location data to continue while waiting for the RPC to complete.
+ Multiple threads waiting for a volume location update on the
+ same volume set no longer trigger multiple calls VL_xxx RPCs.
+
+ * Volume server references could be marked offline and never
+ reset to the not_busy state.
+
+ * Further optimizations to cm_Analyze() retry logic for
+ CM_ERROR_OFFLINE and CM_ERROR_ALLBUSY error handling.
+
Since 1.5.33
* Optimize the DNLC by applying Interlocked incrementing for
statistics gathering and enabling greater use of read
|