Mention that -fakestat fakes local cellular mounts
[openafs.git] / doc / man-pages / pod8 / afsd.pod
index 4c92513..e9cea65 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>>] >>>
@@ -25,10 +25,12 @@ B<afsd> [B<-afsdb>] [B<-backuptree>]
      [B<-nosettime>]
      S<<< [B<-prealloc> <I<number of 'small' preallocated blocks>>] >>>
      [B<-rmtsys>] S<<< [B<-rootvol> <I<name of AFS root volume>>] >>>
-     [B<-rxbind>] S<<< [B<-rxpck> value for rx_extraPackets ] >>>
+     [B<-rxbind>] S<<< [B<-rxmaxmtu> value for maximum MTU ] >>> 
+     S<<< [B<-rxpck> value for rx_extraPackets ] >>>
      [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>]
 
@@ -39,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
+inititalizes a FUSE-based Cache Manager instead of one based on a kernel
+module.
+
+The B<afsd> command performs the following actions:
 
 =over 4
 
@@ -171,10 +176,11 @@ Sets the size of each cache I<chunk>, and by implication the amount of
 data that the Cache Manager requests at a time from the File Server (how
 much data per fetch RPC, since AFS uses partial file transfer).
 
-For a disk cache, a chunk is a F<VI<n>> file and this parameter
-sets the maximum size to which each one can expand; the default is 64
-KB. For a memory cache, each chunk is a collection of contiguous memory
-blocks; the default is size is 8 KB.
+For a disk cache, a chunk is a F<VI<n>> file and this parameter sets the
+maximum size to which each one can expand.  For a memory cache, each chunk
+is a collection of contiguous memory blocks. The default for a disk cache
+is between 256 KB and 1 MB depending on the size of the cache. The default
+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
@@ -233,8 +239,8 @@ calculate the cache size by multiplying this value by the chunk size.
 =item *
 
 Sets the number of I<stat> entries available in machine memory for caching
-status information about cached AFS files. The default is 300; use the
-B<-stat> argument to override the default.
+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 *
 
@@ -346,6 +352,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.
 
@@ -380,25 +393,32 @@ on an firewalls between the client and the server:
    reserved        7006/udp (for future use)
    bosserver       7007/udp
 
-Additionally, for B<klog> to work through the firewall you need to allow
+Clients will also need to be able to contact your Kerberos KDC to
+authenticate.  If you are using B<kaserver> and B<klog>, you need to allow
 inbound and outbound UDP on ports >1024 (probably 1024<port<2048 would
 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 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 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>.
+Enable afsdb support. This will use DNS to lookup the AFSDB record 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
+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.
 
 =item B<-backuptree>
 
@@ -436,9 +456,10 @@ F</usr/vice/etc/cacheinfo> file.
 =item B<-chunksize> <I<chunk size>>
 
 Sets the size of each cache chunk. The integer provided, which must be
-from the range C<0> to C<30>, is used as an exponent on the number 2. It
-overrides the default of 16 for a disk cache (2^16 is 64 KB) and 13 for a
-memory cache (2^13 is 8 KB). A value of C<0> or less, or greater than
+from the range C<0> to C<30>, is used as an exponent on the number 2. If not
+supplied, a default chunksize will be determined based on the cache type and
+cache size, and will range from C<13> (8KB) for memory cache and C<18> to
+C<20> (256 KB to 1MB) for disk cache. A value of C<0> or less, or greater than
 C<30>, sets chunk size to the appropriate default. Values less than C<10>
 (which sets chunk size to a 1 KB) are not recommended.  Combining this
 argument with the B<-dcache> argument is not recommended because it
@@ -515,6 +536,13 @@ 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.
 
+=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
@@ -539,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
@@ -625,9 +660,20 @@ B<-dynroot> is given.
 
 Bind the Rx socket (one interface only).
 
+=item B<-rxmaxmtu> <I<value for maximum MTU>>
+
+Set a limit for the largest maximum transfer unit (network packet size) that
+the AFS client on this machine will be willing to transmit. This switch can
+be used where an artificial limit on the network precludes packets as large
+as the discoverable MTU from being transmitted successfully.
+
 =item B<-rxpck> <I<value for rx_extraPackets>>
 
-Set rx_extraPackets to this value.
+Set rx_extraPackets to this value. This sets the number of extra Rx
+packet structures that are available to handle Rx connections. This
+value should be increased if the "rxdebug 127.0.0.1 -port 7001
+-rxstats" command shows no free Rx packets. Increasing this value may
+improve OpenAFS client performance in some circumstances.
 
 =item B<-settime>
 
@@ -650,8 +696,9 @@ and 25% to read-only.
 =item B<-stat> <I<number of stat entries>>
 
 Specifies the number of entries to allocate in the machine's memory for
-recording status information about the AFS files in the cache. This value
-overrides the default of C<300>.
+recording status information about the AFS files in the cache. If this value
+is not specified, the number of stat entires will be autotuned based on the
+size of the disk cache.
 
 =item B<-verbose>
 
@@ -661,7 +708,14 @@ standard output stream.
 =item B<-volumes> <I<number of volume entries>>
 
 Specifies the number of memory structures to allocate for storing volume
-location information. The default value is C<50>.
+location information. The default value is C<200>.
+
+=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>
 
@@ -701,6 +755,8 @@ L<afs_cache(5)>,
 L<CellServDB(5)>,
 L<cacheinfo(5)>
 
+RFC 1183 L<http://www.faqs.org/rfcs/rfc1183.html>
+
 =head1 COPYRIGHT
 
 IBM Corporation 2000. <http://www.ibm.com/> All Rights Reserved.