afs: add afsd -inumcalc option
[openafs.git] / doc / man-pages / pod8 / afsd.pod
index ef5c930..dd48a16 100644 (file)
@@ -20,6 +20,7 @@ B<afsd> [B<-afsdb>] [B<-backuptree>]
      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>>] >>>
+     S<<< [B<-inumcalc>] <I<method>> >>>
      [B<-mem_alloc_sleep>] [B<-memcache>]
      S<<< [B<-mountdir> <I<mount location>>] >>> [B<-nomount>]
      [B<-nosettime>]
@@ -32,7 +33,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>
@@ -242,15 +243,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
@@ -300,10 +292,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 *
 
@@ -536,6 +525,18 @@ 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,
@@ -604,6 +605,24 @@ ignored.
 
 This option is obsolete and no longer has any effect.
 
+=item B<-inumcalc> <I<method>>
+
+Specifies the method used by the Cache Manager to generate inode numbers for
+files, directories, and symlinks in the AFS filesystem.  Valid methods are
+C<compat> and C<md5>.  The default method is C<compat>.
+
+When the C<compat> method is in effect, the Cache Manager generates inode
+numbers for a given inode by multiplying the AFS volume number by 65536, adding
+the result to the AFS vnode number, and finally truncating the result to a
+signed 32 bit integer.
+
+When the C<md5> method is in effect, the Cache Manager generates inode numbers
+for a given inode by calculating the MD5 digest of a combination of the cell
+number, volume number, and vnode number. The result is truncated to a signed 32
+bit integer. The C<md5> method is computationally more expensive but greatly
+reduces the chance for inode number collisions, especially when volumes from
+multiple cells are mounted within the AFS filesystem.
+
 =item B<-mem_alloc_sleep>
 
 This option is obsolete and no longer has any effect.
@@ -629,12 +648,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>>
 
@@ -660,6 +675,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
@@ -677,8 +706,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>