[comp.unix.aix] Need help nfs mounting from an Apollo.

lin@sixmile.INEL.GOV (Linn Hower) (01/09/91)

  Help!  I am trying to mount an exported filesystem from an Apollo
DN10000, SR10.3 on a RISC/6000 320 V3.1.  I am stuck with filesystem
names on the apollo like //einstein/u1.  Thats a double slash.
When I try 'mount einstein://einstein/u1 /mnt', I get:

mount: access denied for einstein:/einstein/u1
mount: giving up on:
        einstein:/einstein/u1

The AIX mount has dropped the the first slash.  How can I get it to
stop doing this?

  Thanks...

--
  Linn Hower	lin@INEL.GOV		Phone: 208-526-9231
		at the Idaho National Engineering Laboratory, Idaho Falls, ID

========== long legal disclaimer follows, press n to skip ===========
^L
Neither the United States Government or the Idaho National Engineering
Laboratory or any of their employees, makes any warranty, whatsoever,
implied, or assumes any legal liability or responsibility regarding any
information, disclosed, or represents that its use would not infringe
privately owned rights.  No specific reference constitutes or implies
endorsement, recommendation, or favoring by the United States
Government or the Idaho National Engineering Laboratory.  The views and
opinions expressed herein do not necessarily reflect those of the
United States Government or the Idaho National Engineering Laboratory,
and shall not be used for advertising or product endorsement purposes.

wross@caen.engin.umich.edu (Wendy Ross) (01/09/91)

We ran into this problem trying to mount our apollo ring as well.  In fact,
I felt rather funny when my first question to AIX defect support was:
"How much do you know about the Apollo file system"?  Rumor has it that IBM 
had only one apollo with which to test NFS, therefore the "/" and "//" levels 
were the same to them.

IF YOU ARE TRYING TO MOUNT ONLY ONE APOLLO:

If you only need to mount one apollo, you can save a lot of trouble by
creating an /etc/filesystem entry and mounting /<apollo>.  It does work,
but it will not allow you ring access at the "//" level.  Read the general
comments below if this gives you errors.
                 

IF YOU ARE TRYING TO MOUNT THE // LEVEL:

Here is what they gave us as the work around, although I gather
the actual fix will come out in a later release (they did not know
which one at the time).  You will not be able to put a stanza in 
/etc/filesystems, but will instead have to put some version of the following
line in your /etc/rc file (I placed it right after the "mount all" command):
(note: the following can be invoked from the command line too; you'll want
it in the rc file in case of reboot)    

echo " Mounting apollo ring "
/etc/helpers/nfsmnthelp M 0 nfs // /n/engin/apollo/ring fg,rw,intr,rsize=1024,wsize=1024
                                        
/etc/helpers/nfsmnthelp :  lower level command
M 0                     :  needed arguments
nfs                     :  Name of the apollo running nfsd.  Ours is named nfs.
//                      :  // level of apollo ring
/n/engin/apollo/ring    :  directory on RS/6000 on which to mount apollo ring 
fg,rw,intr, etc ...     :  the arguments we use for NFS mounting
                                                                           

GENERAL COMMENTS FOR MOUNTING APOLLOS AT THE / OR // LEVELS:

Remember that when you are NFS mounting some machines (including apollos)
you can receive errors when you try to mount them from the command line as root.  
Root is in too many groups, so the NFS server doesn't recognize you as
a valid client.  The workaround is simple.  Create an account that belongs
to group system, and then su to that account and perform the mount on the
command line.  This will work, assuming your client is in the server's export
list, the directory you are trying to mount over exists, the network is up, etc.  
For some reason stanzas in the /etc/filesystems file and the above line in the
/etc/rc file do work upon boot, though.  I guess root doesn't have a whole bunch
of groups attached to it at that point or something.                                                                     

                                                              
I hope after you go to all this trouble that you have better luck than
we've had at encouraging apollo nfsd to stay up.  Anyhow ...

I hope this helps.  It works for us.  If it doesn't work for you for some
reason, I would be curious, so mail me the error messages, etc. if you like.
 
               
Wendy Ross                               wross@caen.engin.umich.edu 
University of Michigan
Computer Aided Engineering Network
 
=========== short, but legal non-disclaimer follows. Sorry, can't skip=============                                                                  
<insert amusing quip here>

system@alchemy.chem.utoronto.ca (System Admin (Mike Peterson)) (01/09/91)

In article <1991Jan8.222301.6458@inel.gov> lin@sixmile.INEL.GOV (Linn Hower) writes:
>
>  Help!  I am trying to mount an exported filesystem from an Apollo
>DN10000, SR10.3 on a RISC/6000 320 V3.1.  I am stuck with filesystem
>names on the apollo like //einstein/u1.  Thats a double slash.
>When I try 'mount einstein://einstein/u1 /mnt', I get:
>
>mount: access denied for einstein:/einstein/u1
>mount: giving up on:
>        einstein:/einstein/u1
>
>The AIX mount has dropped the the first slash.  How can I get it to
>stop doing this?

As far as I know, you can not mount the Apollo // level on AIX
(we have one too, and tried for a few days to trick it - first using
smit, then editing the NFS files manually). The problem is that on
most UNIX systems, 2 (or more) slashes in a pathname are condensed to a
single slash - I also believe this is required by POSIX (help me
someone!), which is why the Apollo // stuff won't be in OSF (and will
never be unless HP adds it specially for Domain/OS compatability).

We have mounted each Apollo node separately (at the / level) on the IBM,
the way you mount all other file systems on NFS; it works OK. At least
you can mount the entire node's file system in one mount, no matter what
the disk partitioning really is.

For the moment, you can mount //apollonode on SGI IRIX, but I bet that
will change once SGI goes POSIX.
-- 
Mike Peterson, System Administrator, U/Toronto Department of Chemistry
E-mail: system@alchemy.chem.utoronto.ca
Tel: (416) 978-7094                  Fax: (416) 978-8775

keith@sscsu.Stanford.EDU (Keith Rich) (01/10/91)

lin@sixmile.INEL.GOV (Linn Hower)
writes:

>   Help!  I am trying to mount an exported filesystem from an Apollo
> DN10000, SR10.3 on a RISC/6000 320 V3.1.  I am stuck with filesystem
> names on the apollo like //einstein/u1.  Thats a double slash.
> When I try 'mount einstein://einstein/u1 /mnt', I get:

> mount: access denied for einstein:/einstein/u1
> mount: giving up on:
>         einstein:/einstein/u1

> The AIX mount has dropped the the first slash.  How can I get it to
> stop doing this?

And wross@caen.engin.umich.edu (Wendy Ross)
writes:

> We ran into this problem trying to mount our apollo ring as well.  In fact,
> I felt rather funny when my first question to AIX defect support was:
> "How much do you know about the Apollo file system"?  Rumor has it that IBM 
> had only one apollo with which to test NFS, therefore the "/" and "//" levels 
> were the same to them.
> [[very good explanation of what to do]]

And system@alchemy.chem.utoronto.ca (System Admin (Mike Peterson))
writes:

> As far as I know, you can not mount the Apollo // level on AIX
> (we have one too, and tried for a few days to trick it - first using
> smit, then editing the NFS files manually). The problem is that on
> most UNIX systems, 2 (or more) slashes in a pathname are condensed to a
> single slash - I also believe this is required by POSIX (help me
> someone!), which is why the Apollo // stuff won't be in OSF (and will
> never be unless HP adds it specially for Domain/OS compatability).

I'd simply like to add an explanation that may help people in thinking
about this.  It is true that Unix (in general) treats a double slash the
same as a single slash either at the beginning of a filename or in the
middle of a filename.  However, NFS is defined as a standard (by Sun),
and it is NOT defined in terms of Unix.  In fact, NFS is supposed to
work with non-Unix systems and there are cases where it does.  So, this
issue "shouldn't" have anything to do with OSF, Apollo, etc.

The mount protocol is completely separated from the file access itself,
and it is supposed to simply map a general character string into an NFS
file handle.  There are no implications about the content of the string
which are set by the mount protocol.  Therefore, slashes, dots, blanks,
etc. are supposed to get interpreted by mountd (or equivalent) on the
server system.

In this case, it sounds like the mount command on AIX is not passing the
string untouched to mountd on the Apollo.  This is a violation of the
mount protocol rather than having anything to do with either NFS or the
Unix filesystem.  So, I suggest that the parties involved attempt to
apply the fix to the right place.

The double slash that Apollo wants works some several other systems
such as SunOS, PC-NFS, SCO, etc., and it "should" work from AIX.
It is a mistake to think that this is an Apollo problem.  Apollo
has enough of its own problems without trying to fix this one.

Keith Rich (keith@sscsu.stanford.edu)

robin@batcomp.austin.ibm.com (Robin D. Wilson) (01/11/91)

In article <1991Jan9.185717.1613@portia.Stanford.EDU> keith@sscsu.Stanford.EDU (Keith Rich) writes:
)
)lin@sixmile.INEL.GOV (Linn Hower)
)writes:
)
)>   Help!  I am trying to mount an exported filesystem from an Apollo
)> DN10000, SR10.3 on a RISC/6000 320 V3.1.  I am stuck with filesystem
)> names on the apollo like //einstein/u1.  Thats a double slash.
)> When I try 'mount einstein://einstein/u1 /mnt', I get:
)> mount: access denied for einstein:/einstein/u1
)> mount: giving up on:
)>         einstein:/einstein/u1
)> The AIX mount has dropped the the first slash.  How can I get it to
)> stop doing this?

As another person already pointed out, you can mount apollo "//" files
by using "nfsmnthelp" from the RS.  Please read the info documentation
on this facility, it is well explained and will allow you to do what 
you want.


)> As far as I know, you can not mount the Apollo // level on AIX
)> (we have one too, and tried for a few days to trick it - first using
)> smit, then editing the NFS files manually). The problem is that on

The problem is in the "mount" command itself.  The mount command 
"interprets" the path, and trys to construct a valid "AIX" path using
"AIX" rules.  Since the Apollo is not AIX, the rules don't apply.  
Mount then passes the "interpreted" path on to "nfsmnthelp" which 
actually does the mount.  Once you go directly to the nfsmnthelp
facility, the mount command is unable to interfere, so you can mount
anything you want.  As the other solution note pointed out, adding the
info to the /etc/filesystems file won't help, because "mount" is called to
make those mounts.  The best solution is to add the nfsmnthelp command
string to the bottom of the rc.nfs file or create a shell script file
called (something like) apollo.mounts, and fire it off from /etc/inittab.

)
)The mount protocol is completely separated from the file access itself,
)and it is supposed to simply map a general character string into an NFS
)file handle.  There are no implications about the content of the string
)which are set by the mount protocol.  Therefore, slashes, dots, blanks,
)etc. are supposed to get interpreted by mountd (or equivalent) on the
)server system.

On AIX, nfsmnthelp handles this, not "mount".



-- 
+-----------------------------------------------------------------------------+
|The views expressed herein, are the sole responsibility of the typist at hand|
+-----------------------------------------------------------------------------+
|UUCP:     robin%aixserv@uunet.uu.net                                         |
|USNail:   701 Canyon Bend Dr.                                                |
|          Pflugerville, TX  78660                                            |
|          Home: (512)251-6889      Work: (512)823-3015                       |
+-----------------------------------------------------------------------------+

wross@engin.umich.edu (Wendy Ross) (01/14/91)

In article <4728@awdprime.UUCP>, robin@batcomp.austin.ibm.com (Robin D. Wilson) writes:
> In article <1991Jan9.185717.1613@portia.Stanford.EDU> keith@sscsu.Stanford.EDU (Keith Rich) writes:
> )
> )lin@sixmile.INEL.GOV (Linn Hower)
> )writes:
> )
> )>   Help!  I am trying to mount an exported filesystem from an Apollo
> )> DN10000, SR10.3 on a RISC/6000 320 V3.1.  I am stuck with filesystem
> )> names on the apollo like //einstein/u1.  Thats a double slash.
> )> When I try 'mount einstein://einstein/u1 /mnt', I get:
> )> mount: access denied for einstein:/einstein/u1
> )> mount: giving up on:
> )>         einstein:/einstein/u1
> )> The AIX mount has dropped the the first slash.  How can I get it to
> )> stop doing this?
> 
> As another person already pointed out, you can mount apollo "//" files
> by using "nfsmnthelp" from the RS.  Please read the info documentation
            ^^^^^^^^^^                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> on this facility, it is well explained and will allow you to do what  
  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> you want.                                                           
  ^^^^^^^^^
> 
 < Additional explanation of mount command deleted >
 
nfsmnthelp command well documented??  I would love to know where you are
finding all this wonderful documentation!!  When searching by title under
info for "nfsmnthelp" there are no matches found.  When searching by
keyword, there are three references found, all of which refer to the vfs
file, which contains the entry:
#nfs 2 /etc/helpers/nfsmnthelp none remote
All say to uncomment the line, etc. but do not tell anything about what
the command itself does or what arguments it accepts.

For that matter, I've found little to no documentation on any command in the
/etc/helpers directory.                               
The only way I discovered how to use the /etc/helpers/nfsmnthelp command
was by talking to an IBM NFS developer directly on the phone.

I'd love to read the documentation on all the commands in the /etc/helpers
directory.  Help us out by telling where this alleged documentation is
located!
 
Wendy Ross                                      wross@caen.engin.umich.edu
Computer Aided Engineering Network
University of Michigan
 
<insert amusing quip here>