doc: afsd -settime and -nosettime are obsolete
[openafs.git] / doc / man-pages / pod8 / afsd.pod
index bacfd7f..b284172 100644 (file)
@@ -1,6 +1,6 @@
 =head1 NAME
 
-afsd - Initializes the Cache Manager and starts related daemons
+afsd, afsd.fuse - Initializes the Cache Manager and starts related daemons
 
 =head1 SYNOPSIS
 
@@ -15,8 +15,8 @@ B<afsd> [B<-afsdb>] [B<-backuptree>]
      S<<< [B<-confdir> <I<configuration directory>>] >>>
      S<<< [B<-daemons> <I<number of daemons to use>>] >>>
      S<<< [B<-dcache> <I<number of dcache entries>>] >>> [B<-debug>]
-     [B<-dynroot>] [B<-enable_peer_stats>] [B<-enable_process_stats>]
-     [B<-fakestat>] [B<-fakestat-all>]
+     [B<-dynroot>] [B<-dynroot-sparse>] [B<-enable_peer_stats>]
+     [B<-enable_process_stats>] [B<-fakestat>] [B<-fakestat-all>]
      S<<< [B<-files> <I<files in cache>>] >>>
      S<<< [B<-files_per_subdir> <I<log(2) of files per dir>> ] >>>
      [B<-help>] S<<< [B<-logfile> <I<Place to keep the CM log>>] >>>
@@ -32,7 +32,7 @@ B<afsd> [B<-afsdb>] [B<-backuptree>]
      S<<< [B<-stat> <I<number of stat entries>>] >>> [B<-verbose>]
      [B<-disable-dynamic-vcaches>] 
      S<<< [B<-volumes> <I<number of volume entries>>] >>>
-     [B<-waitclose>]
+     [B<-waitclose>] [B<-rxmaxfrags> <I<max # of fragments>>]
 
 =for html
 </div>
@@ -41,8 +41,11 @@ B<afsd> [B<-afsdb>] [B<-backuptree>]
 
 The B<afsd> command initializes the Cache Manager on an AFS client machine
 by transferring AFS-related configuration information into kernel memory
-and starting several daemons. More specifically, the B<afsd> command
-performs the following actions:
+and starting several daemons. B<afsd.fuse> is an experimental variant that
+initializes a FUSE-based Cache Manager instead of one based on a kernel
+module.
+
+The B<afsd> command performs the following actions:
 
 =over 4
 
@@ -68,7 +71,7 @@ machines, prevents the Cache Manager from accessing files in it.
 By default, the list of database server machines is transferred into the
 kernel from the F</usr/vice/etc/CellServDB> file. Alternatively, when the
 B<-afsdb> option is used, the list of database server machines is taken
-from the AFSDB DNS records for each cell. After initialization, use the
+from the DNS SRV or AFSDB records for each cell. After initialization, use the
 B<fs newcell> command to change the kernel-resident list without having to
 reboot.
 
@@ -181,7 +184,7 @@ for a memory cache is 8 KB.
 
 To override the default chunk size for either type of cache, use the
 B<-chunksize> argument to provide an integer to be used as an exponent of
-two; see L<OPTIONS> for details. For a memory cache, if total cache size
+two; see L</OPTIONS> for details. For a memory cache, if total cache size
 divided by chunk size leaves a remainder, the B<afsd> program rounds down
 the number of dcache entries, resulting in a slightly smaller cache.
 
@@ -239,15 +242,6 @@ Sets the number of I<stat> entries available in machine memory for caching
 status information about cached AFS files. The default is based on the
 size of the cache. Use the B<-stat> argument to override the default.
 
-=item *
-
-If the B<-settime> option is specified, then it randomly selects a file
-server machine in the local cell as the source for the correct time. Every
-five minutes thereafter, the local clock is adjusted (if necessary) to
-match the file server machine's clock. This is not enabled by default.  It
-is recommended, instead, that the Network Time Protocol Daemon be used to
-synchronize the time.
-
 =back
 
 In addition to setting cache configuration parameters, the B<afsd> program
@@ -297,10 +291,7 @@ Server.
 =item *
 
 One I<server connection> daemon, which sends a probe to the File
-Server every few minutes to check that it is still accessible. If the
-B<-settime> option is set, it also synchronizes the machine's clock
-with the clock on a randomly-chosen file server machine. There is
-always one server connection daemon.
+Server every few minutes to check that it is still accessible.
 
 =item *
 
@@ -349,6 +340,13 @@ If neither argument is used, there are five VM daemons.
 
 =back
 
+B<afsd.fuse> is a variant of B<afsd> that, instead of initializing a Cache
+Manager implemented as a kernel module, initializes a FUSE-based AFS
+client.  FUSE (Filesystem in USErspace) is a Linux-only mechanism for
+providing a file system through a purely user-space daemon without a
+kernel module component.  B<afsd.fuse> takes all of the same options as
+B<afsd>.
+
 This command does not use the syntax conventions of the AFS command
 suites. Provide the command name and all option names in full.
 
@@ -391,20 +389,24 @@ suffice depending on the number of simultaneous B<klog>s).
 Be sure to set the UDP timeouts on the firewall to be at least twenty
 minutes for the best callback performance.
 
+B<afsd.fuse> was first introduced in OpenAFS 1.5.74.  It is only available
+if OpenAFS was built with the C<--enable-fuse-client> configure switch.
+It should be considered experimental.
+
 =head1 OPTIONS
 
 =over 4
 
 =item B<-afsdb>
 
-Enable afsdb support. This will use DNS to lookup the AFSDB record and
+Enable afsdb support. This will use DNS to lookup the SRV or AFSDB records and
 use that for the database servers for each cell instead of the values
 in the F<CellServDB> file. This has the advantage of only needing to
-update one DNS record to reconfigure the AFS clients for a new
+update one set of DNS records to reconfigure the AFS clients for a new
 database server as opposed to touching all of the clients, and also
 allows one to access a cell without preconfiguring its database
-servers in F<CellServDB>. The format of AFSDB records is defined in
-RFC 1183.
+servers in F<CellServDB>. The format of SRV records is defined in
+RFC 5864, and the AFSDB record format is in RFC 1183.
 
 =item B<-backuptree>
 
@@ -522,6 +524,25 @@ the F<CellAlias> file can be used to provide shortname for common AFS cells
 which provides equivalent functionality to the most commonly used symbolic
 links.
 
+When the dynamic root (B<-dynroot>, B<-dynroot-sparse>) and the fake stat
+(B<-fakestat>, B<-fakestat-all>) modes are in effect, the cache manager
+provides a special directory named F</afs/.:mount> which allows access to
+volumes by volume name or ID.  The F</afs/.:mount> directory appears to be
+empty, but any name in the form of I<cell>:I<volume> will be resolved as a
+read-write mount point to the specified volume.  For example, the
+I<user.jdoe> volume in the I<example.com> cell would be accessible at the
+following path: F</afs/.:mount/example.com:user.jdoe>.  This dynamic mount
+feature is recommended only for temporary access to a volume.  Linux-based
+cache managers provide this dynamic mount feature even when dynamic root
+(B<-dynroot>, B<-dynroot-sparse>) is not in effect.
+
+=item B<-dynroot-sparse>
+
+In addition to operating in the manner described for dynroot above,
+cells other than the local cell are not shown by default until a lookup
+occurs. Cell aliases as set in the CellAliases file are shown as normal,
+although they may appear to be dangling links until traversed.
+
 =item B<-enable_peer_stats>
 
 Activates the collection of Rx statistics and allocates memory for their
@@ -546,6 +567,13 @@ this and the B<-fakestat-all> options are useful on Mac OS X so that the
 Finder program doesn't try to contact every AFS cell the system knows
 about.
 
+Note that, for the purposes of B<-fakestat>, local cellular mounts count
+as "cross-cell" mounts. That is, if the local cell is C<localcell>, a
+mount for C<localcell:root.cell> will count as a "cross-cell" mount and
+so stat calls for it will be faked with B<-fakestat>. In practice, local
+cellular mounts are rare and generally discouraged, so this should not
+generally make a difference.
+
 =item B<-fakestat-all>
 
 Return fake values for stat calls on all mounts, not just cross-cell
@@ -556,7 +584,7 @@ the Finder program doesn't hang when browsing AFS directories.
 
 Specifies the number of F<VI<n>> files to create in the cache directory
 for a disk cache, overriding the default that is calculated as described
-in L<DESCRIPTION>. Each F<VI<n>> file accommodates a chunk of data, and
+in L</DESCRIPTION>. Each F<VI<n>> file accommodates a chunk of data, and
 can grow to a maximum size of 64 KB by default. Do not combine this
 argument with the B<-memcache> argument.
 
@@ -578,7 +606,7 @@ This option is obsolete and no longer has any effect.
 
 =item B<-mem_alloc_sleep>
 
-Allows sleeps when allocating a memory cache.
+This option is obsolete and no longer has any effect.
 
 =item B<-memcache>
 
@@ -601,12 +629,8 @@ mounted in /Network/afs like other network file systems.
 
 =item B<-nosettime>
 
-This is enabled by default. It prevents the Cache Manager from
-synchronizing its clock with the clock on a server machine selected at
-random by checking the time on the server machine every five minutes.
-This is the recommended behavior; instead of the AFS Cache Manager, the
-Network Time Protocol Daemon should be used to synchronize the system
-time.
+This option is obsolete and no longer has any effect.  The operating system
+provided time keeping daemons should be used to maintain the system time.
 
 =item B<-prealloc> <I<number of preallocated blocks>>
 
@@ -632,6 +656,20 @@ B<-dynroot> is given.
 
 Bind the Rx socket (one interface only).
 
+=item B<-rxmaxfrags> <I<max # of fragments>>
+
+Set a limit for the maximum number of UDP fragments Rx will send per Rx
+packet, and the maximum number of fragments Rx thinks it can receive when
+advertising its receive size to peers. Practically speaking, setting this
+option means that you will not see Rx data packets that are broken into more
+than N fragments, where N is the value specified for this option. Setting this
+option to 1 effectively prevents fragmentation, and can be useful when dealing
+with networking equipment that does not properly handle UDP fragments.
+
+Note that this option just specifies a maximum. The actual number of fragments
+seen on the wire may be less than what is specified, depending on the
+configuration of the peer.
+
 =item B<-rxmaxmtu> <I<value for maximum MTU>>
 
 Set a limit for the largest maximum transfer unit (network packet size) that
@@ -649,8 +687,8 @@ improve OpenAFS client performance in some circumstances.
 
 =item B<-settime>
 
-Enable native AFS time synchronization. This option is the opposite of
-B<-nosettime> and cannot be used with the B<-nosettime> option.
+This option is obsolete and no longer has any effect.  The operating system
+provided time keeping daemons should be used to maintain the system time.
 
 =item B<-shutdown>
 
@@ -727,7 +765,8 @@ L<afs_cache(5)>,
 L<CellServDB(5)>,
 L<cacheinfo(5)>
 
-RFC 1183 L<http://www.faqs.org/rfcs/rfc1183.html>
+RFC 5864 L<http://www.ietf.org/rfc/rfc5864.txt>
+RFC 1183 L<http://www.ietf.org/rfc/rfc1183.txt>
 
 =head1 COPYRIGHT