httpd-docs mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "William A. Rowe, Jr." <>
Subject Fw: Documentation you requested on mulitple volumes. (Last night's USENET.)
Date Fri, 16 Mar 2001 15:10:30 GMT
Sorry, no time to commit this myself, I'm buried.  If we want Apache 2.0 beta
out the door by ApacheCon, I need to give that some attention in my free moments
between my work assignments.  So may I pass this on for review and commitment?

[I haven't even fully parsed the way he stated things, although this is most
definately the gist of it.  The statement about / is definately correct.  I don't
know that we have a VMS port :-?  But this should probably mention OS2 as well.]


----- Original Message -----
From: Ted Sharpe
Sent: Tuesday, March 06, 2001 9:54 PM
Subject: Documentation you requested on mulitple volumes. (Last night's USENET.)

Dear Mr. Rowe,

Thanks for your kind, and astoundingly prompt, reply to my question about the treatment of
multiple-volume file systems
(  You invited me to attempt a write-up of the issue,
and here's the best I can do given my
limited understanding.  I trust you'll vet it for accuracy, and simply discard it if it's
too hopeless.  I don't know where it goes
in the docs--there doesn't seem to be a place where pathnames in general are discusses.  Perhaps
it could be stuck into the
core.html as a footnote.


A special note for operating systems with multiple-volume file systems (like VMS, Netware,
or Windows):

Unlike Unix, which has a single root directory that anchors the entire file hierarchy, certain
operating systems support file
systems in multiple volumes.  Windows (like DOS before it) uses a drive letter to specify
the volume--the C: drive, for example.
VMS and Netware use a similar scheme with more general volume names--for example, sys: on
a Netware system.  The Apache
configuration files on these platforms accept volume names (and, in general, file specifications
that use local conventions).

Windows Example:
ServerRoot "C:\Program Files\Apache Group"

Some configuration directives allow you to specify incomplete pathnames.  (Under Unix, these
are usually called "relative" paths.)
The usual rule is that the missing parts of the name are supplied from some other name--frequently
the ServerRoot.  Under
multiple-volume operating systems, this same idea is applied to missing volume designators:
 the volume designator will be taken to
be that of the ServerRoot.  Note that some of the documentation indicates that you can tell
the difference between an absolute
pathname and a relative pathname by checking whether or not it begins with a "/".  On multiple-volume
systems this isn't really
true:  a fully qualified pathname includes the volume designator, and therefore doesn't begin
with "/".  The code knows this, and
pathnames are "canonicalized", that is, extended to fully qualified pathnames, appropriately
for each system.

The container directives that take pathnames treat each volume as the separate hierarchy that
it, in fact, is.  Here are some
examples from Windows:  <Directory "C:\"> covers every directory on the C: drive, but
does not apply to any directory from any other
drive.  <Directory "D:\foo\"> covers the "foo" directory, and those below it on drive
D:, but, even if there are top-level
directories named "foo" on other drives, it doesn't apply to them.  In short, it probably
works like you'd guess it would--nothing

There is, however, one very special exception to all of this:  even on multiple-volume operating
systems the container <Directory
"/"> is treated as a special case that applies to absolutely everything.  This is to allow
you to easily specify default options
that will apply to all volumes.

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message