openafs/doc
Andrew Deason eb5190eb4a Make ihandle sync behavior runtime-configurable
The actual behavior of FDH_SYNC has changed a bit over the years, and
some people want one behavior, and some want another. Make it possible
to make this choice at runtime with the new -sync option, instead of
making this decision by running with different patches.

Note that FDH_SYNC is not a macro anymore, nor is it an inline
function. While it could be a macro, it would look a bit complex, and
there are some oddities with trying to use vol_io_params inside the
FDH_SYNC expansion (vol_io_params is not declared for LWP, for
example). And having it be an inline function causes problems with
some odd linking dependencies. For example, vlib.a contains volume.o,
but does not contain a definition for DFlushVolume (dir/buffer.c),
which is referenced in volume.o.  'vos' uses vlib.a, but does not
bring in anything that defines DFlushVolume. Currently this appears to
not cause a problem because 'vos' uses nothing from volume.o, so the
dependencies of volume.o don't matter. Adding an inline FDH_SYNC for
platforms that don't support 'static inline' would add a dependency to
volume.o (via vol_io_params), which causes an error for the lack of a
DFlushVolume.

Those are possibly just some problems, and may not be all. So instead,
make it so we don't have to deal with that and just have a normal
function. While FDH_SYNC may be called in a performance-critical
section, the overhead of a real function call is nowhere near the
delay of an actual fsync(), so presumably any overhead doesn't matter.

Change-Id: I23620bd8ac31b9019e9d55cb46ec9f3a75f5675c
Reviewed-on: http://gerrit.openafs.org/9694
Reviewed-by: Andrew Deason <adeason@sinenomine.net>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
2013-04-17 07:06:54 -07:00
..
arch DOXYGEN: Move the protocol and architecture docs into their own modules 2012-09-26 04:53:24 -07:00
doxygen/input DOXYGEN: Add a simple index page 2012-09-26 04:52:51 -07:00
examples provide an example CellAlias file. 2002-07-16 18:39:50 +00:00
man-pages Make ihandle sync behavior runtime-configurable 2013-04-17 07:06:54 -07:00
pdf initial-pdf-with-embedded-cmr-fonts-20010606 2001-06-06 18:58:13 +00:00
protocol DOXYGEN: Move the protocol and architecture docs into their own modules 2012-09-26 04:53:24 -07:00
txt doc: dynamic mount requires dynroot and fakestat 2013-01-10 10:33:59 -08:00
xml Windows: 1.7.23 Release Notes 2013-03-22 06:52:14 -07:00
LICENSE Rework the Kerberos Autoconf probes 2010-06-15 16:30:04 -07:00
README spelling corrections in readme files 2013-01-05 09:07:23 -08:00

What's in the "doc" subdirectory

** doc/html
original IBM html doc, no longer used

** doc/man-pages
pod sources for man pages (converted from original IBM html source).

** doc/xml
xml sources for manuals (converted from original IBM html source).  there is
some generated pdf/html content as well for the curious.

Note that doc/xml/AdminReference uses doc/xml/AdminReference/pod2refentry to
convert the pod man pages to xml for printing.  pod goes directly to html
just fine.

The reference guide is now built by converting the existing pod documentation
to xml.  however, the indexing information was lost during the initial pod
conversion.  Someone we will need to try to get that back.

** doc/pdf
old Transarc (and possibly pre-Transarc) protocol and API documentation for
which we have no other source

** doc/txt
doc/examples
a few other miscellaneous files.


From: Russ Allbery

The Administrative Reference has been converted into separate POD man pages
for each command, since that's basically what it already was (just in HTML).
Considerable work remains to update that POD documentation to reflect the
current behavior of OpenAFS (for example, there's no documentation of
dynroot, no mention of Kerberos v5, many fileserver options are
undocumented, the afsd switch documentation is out of date, and so forth).
I've collected as many of those deficiencies as I know of in
doc/man-pages/README.  Any contributions to correct any of those deficiencies
are very welcome.  This is one easy place to start.

The other reference manuals (the Administrator's Guide, the Quick Start
Guide, and the User's Guide) are more manual-like in their structure.  After
some on-list discussion, we picked DocBook as the format to use going
forward and the existing HTML files have been converted to DocBook with a
script.  This means that the markup could use a lot of cleaning up and the
content is even less updated than the man pages.

I did some *very* initial work on the Quick Start Guide, just to get the
makefile working and to try some simple modifications.  Simon Wilkinson is
currently working on making more extensive modifications.  If you want to
work on the Quick Start Guide, please coordinate with him to avoid duplicate
work.

The Administrator's Guide and User's Guide have not yet been touched.  Of
those, the latter is probably in the best shape, in that the user commands
and behavior haven't changed as much.  If you'd like to start working on one
of those, that would also be great.