The changes implemented for demand-attach include:
-- [[volume finite-state automata|AFSLore/DemandAttach#Volume_Finite_State_Automata]]
+- [[volume finite-state automata|DemandAttach#Volume_Finite_State_Automata]]
- volumes are attached on demand
- volume _garbage collector_ to detach unused volumes
- notion of volume state means read-only volumes aren't salvaged
-- [[vnode finite-state automata|AFSLore/DemandAttach#Vnode_Finite_State_Automata]]
+- [[vnode finite-state automata|DemandAttach#Vnode_Finite_State_Automata]]
- global lock is only held when required and never held across high-latency operations
- automatic salvaging of volumes
- shutdown is done in parallel (maximum number of threads utilized)
</tr>
</table>
-The [[host / callback state|AFSLore/DemandAttach#FSStateDat]] is covered later. The _pre-attached_ state indicates that the file-server has read the volume headers and is aware that the volume exists, but that it has not been attached (and hence is not on-line).
+The [[host / callback state|DemandAttach#FSStateDat]] is covered later. The _pre-attached_ state indicates that the file-server has read the volume headers and is aware that the volume exists, but that it has not been attached (and hence is not on-line).
The shutdown sequence for both file-server types is:
### <a name="Volume Finite-State Automata"></a> Volume Finite-State Automata
-The volume finite-state automata is available in the source tree under `doc/arch/dafs-fsa.dot`. See [[=fssync-debug=|AFSLore/DemandAttach#fssync_debug]] for information on debugging the volume package.
+The volume finite-state automata is available in the source tree under `doc/arch/dafs-fsa.dot`. See [[=fssync-debug=|DemandAttach#fssync_debug]] for information on debugging the volume package.
<a name="VolumeLeastRecentlyUsed"></a>
</tr>
<tr>
<td> intermediate (mid) </td>
- <td> Volumes transitioning from new -> old (see [[AFSLore.DemandAttach#VLRUStateTransitions][state transitions] for details). </td>
+ <td> Volumes transitioning from new -> old (see [[DemandAttach#VLRUStateTransitions][state transitions] for details). </td>
</tr>
<tr>
<td> new </td>
- <td> Volumes which have been accessed. See [[AFSLore.DemandAttach#VLRUStateTransitions][state transitions] for details. </td>
+ <td> Volumes which have been accessed. See [[DemandAttach#VLRUStateTransitions][state transitions] for details. </td>
</tr>
<tr>
<td> old </td>
- <td> Volumes which are continually accessed. See [[AFSLore.DemandAttach.#VLRUStateTransitions][state transitions] for details. </td>
+ <td> Volumes which are continually accessed. See [[DemandAttach.#VLRUStateTransitions][state transitions] for details. </td>
</tr>
</table>
- because volumes are inter-mingled on a partition (rather than being separated), a lock for the entire partition on which the volume is located is held throughout. Both the `fileserver` and `volserver` will block if they require this lock, e.g. to restore / dump a volume located on the partition.
- inodes for a particular volume can be located anywhere on a partition. Salvaging therefore results in **every** inode on a partition having to be read to determine whether it belongs to the volume. This is extremely I/O intensive and leads to horrendous salvaging performance.
- `/usr/afs/bin/salvsync-debug` provides low-level inspection and control over the `salvageserver`. %RED% **Indiscriminate use of `salvsync-debug` can lead to extremely bad things occurring. Use with care.** %ENDCOLOR%
-- See [[=salvsync-debug=|AFSLore/DemandAttach#salvsync_debug]] for information on debugging problems with the salvageserver.
+- See [[=salvsync-debug=|DemandAttach#salvsync_debug]] for information on debugging problems with the salvageserver.
<a name="FSStateDat"></a>
- `VOL_IN_HASH` indicates that the volume has been added to the volume linked-list
- `VOL_ON_VBYP_LIST` indicates that the volume is linked off the partition list
- `VOL_ON_VLRU` means the volume is on a VLRU queue
-- the `salvage` structure (detailed [[here|AFSLore/DemandAttach#salvsync_debug]])
+- the `salvage` structure (detailed [[here|DemandAttach#salvsync_debug]])
- the `stats` structure, particularly the volume operation times ( `last_*`).
- the `vlru` structure, particularly the VLRU queue
rpms from a source code tree tar file. You'll need to create two tar files, one
of the source and one of the documentation. A script is run to build a source
rpm, which can be used to build the various rpm packages. Details are given
-on the page [[How to build OpenAFS RPM packages|AFSLore/HowToBuildOpenAFSRpmPackages]].
+on the page [[How to build OpenAFS RPM packages|HowToBuildOpenAFSRpmPackages]].
## Prerequisites
+++ /dev/null
-Welcome to the home of AFSLore. This is a web-based collaboration area for collecting, maintaining, and distributing information about the AFS distributed filesystem and related topics..
-
-
-
-- [[What is AFS?|AFSLore/WhatIsAFS]]
-- [[GettingStarted]]
-- [[WindowsEndUserQuickStartGuide]]
-- [[Win2008R2ADasKDC]]
-- [[CreatingANewCell]]
-- [[AddOnsToolsAndUtilities]]
-- [[AFSFrequentlyAskedQuestions]]
-- [[WhereToGetHelp]]
-- [[AncientHistory]] (once upon a time)
-
-## <a name="For Community ..."></a> For the Community...
-
-- [[Contribute please? A list of tiny and simple tasks|AFSLore/TinySimpleTasks]]
-- [[Plumbing - (Your) Contributed scripts and tools|Contrib]]
-- [[MaintainingDocumentation]]
-
-## <a name="For Developers ..."></a> For Developers ...
-
-- [[OpenAFSDevelopers]] - documentation for developers of [[OpenAFS]], including details of our revision control system, and lists of tasks that need doing.
-- AFS3 [[ProtocolInfo]]
-- [[NewProjects]]
-- [[CodeArchitecture]]
-- [[GateKeeping]]
-- [[How to build OpenAFS from Source|AFSLore/HowToBuildOpenAFSFromSource]]
-- [[How to build OpenAFS RPM packages|AFSLore/HowToBuildOpenAFSRpmPackages]]
-- [[DemandAttach]]
-- [[OpenAFSPioctlInterfaceDoc]]
-- [[OpenAFSDoxygenStyleGuide]]
-- [[OpenAFSWebsiteProjectPage]]
-- [[OpenAFSCachePinning]]
-- [[CacheManagerPorting]] (Some Notes)
-- [[Buildbot]]
-- [[Debugging]]
-- [[BackupMethods]]
-
-
-Note: This area is about AFS, whose name is properly spelled in all uppercase. Unfortunately, this creates interesting challenges in coming up with appropriate [[WikiWords|TWiki/WikiWord]] for naming topics. Please bear with us -- or come up with better names!
-
- List this web in the [[SiteMap]]:
- set SITEMAPLIST = on
- - set SITEMAPWHAT = [[Getting Started|AFSLore/GettingStarted]], [[Protocol Info|AFSLore/ProtocolInfo]], [[History|AFSLore/AncientHistory]]
+ - set SITEMAPWHAT = [[Getting Started|GettingStarted]], [[Protocol Info|ProtocolInfo]], [[History|AncientHistory]]
- set SITEMAPUSETO = Learn about the AFS distributed filesystem.
- Exclude web from a `web="all"` search: (Set to `on` for hidden webs)
-You're probably looking for the [AFS Lore Wiki](AFSLore/WebHome)
---------------
-This wiki is powered by [[ikiwiki]].
+Welcome to the OpenAFS wiki. This is a web-based collaboration area for collecting, maintaining, and distributing information about the AFS distributed filesystem and related topics..
+
+
+
+- [[What is AFS?|WhatIsAFS]]
+- [[GettingStarted]]
+- [[WindowsEndUserQuickStartGuide]]
+- [[Win2008R2ADasKDC]]
+- [[CreatingANewCell]]
+- [[AddOnsToolsAndUtilities]]
+- [[AFSFrequentlyAskedQuestions]]
+- [[WhereToGetHelp]]
+- [[AncientHistory]] (once upon a time)
+
+## <a name="For Community ..."></a> For the Community...
+
+- [[Contribute please? A list of tiny and simple tasks|TinySimpleTasks]]
+- [[Plumbing - (Your) Contributed scripts and tools|Contrib]]
+- [[MaintainingDocumentation]]
+
+## <a name="For Developers ..."></a> For Developers ...
+
+- [[OpenAFSDevelopers]] - documentation for developers of [[OpenAFS]], including details of our revision control system, and lists of tasks that need doing.
+- AFS3 [[ProtocolInfo]]
+- [[NewProjects]]
+- [[CodeArchitecture]]
+- [[GateKeeping]]
+- [[How to build OpenAFS from Source|HowToBuildOpenAFSFromSource]]
+- [[How to build OpenAFS RPM packages|HowToBuildOpenAfsRpmPackages]]
+- [[DemandAttach]]
+- [[OpenAFSPioctlInterfaceDoc]]
+- [[OpenAFSDoxygenStyleGuide]]
+- [[OpenAFSWebsiteProjectPage]]
+- [[OpenAFSCachePinning]]
+- [[CacheManagerPorting]] (Some Notes)
+- [[Buildbot]]
+- [[Debugging]]
+- [[BackupMethods]]
+
+
+Note: This area is about AFS, whose name is properly spelled in all uppercase. Unfortunately, this creates interesting challenges in coming up with appropriate [[WikiWords|TWiki/WikiWord]] for naming topics. Please bear with us -- or come up with better names!