[comp.unix.i386] Wildcards don't work on NFS mounted file system

larry@focsys.uucp (Larry Williamson) (08/02/90)

Is this an Interactive bug? Or is it a bug in the MIPS fileserver?

Users logged in on a 386/ix system that has mounted a file system from
a MIPS fileserver cannot use wild cards in any of the directories that
are on the MIPS file system.

Even emacs file name completion does not work. What a royal pain that
is!

I expect that this is a 386/ix bug because it is on the 386/ix machine
that the wild card expansion is taking place. 

386/ix is version 2.0.2, RISC/os is version 4.10. 

Any ideas?

-Larry

cpcahil@virtech.uucp (Conor P. Cahill) (08/03/90)

In article <LARRY.90Aug2091559@focsys.uucp> larry@focsys.uucp (Larry Williamson) writes:
>Users logged in on a 386/ix system that has mounted a file system from
>a MIPS fileserver cannot use wild cards in any of the directories that
>are on the MIPS file system.

This is a symptom of the program that you are using that is performing
the wild card substitution is not NFS cognizant.  Wild card substitution
routines (like the old glob routine) must use directory reading
routines that know about NFS because you can't open a directory for 
reading across NFS.

What program are you running when it fails?  I would hope that it is not
the standard ISC shell.  If I remember correctly, this works fine under
ISC's sh.

>I expect that this is a 386/ix bug because it is on the 386/ix machine
>that the wild card expansion is taking place. 

This is a bug within the particular program (in this case running on you
386/ix machine), not in the OS itself.


-- 
Conor P. Cahill            (703)430-9247        Virtual Technologies, Inc.,
uunet!virtech!cpcahil                           46030 Manekin Plaza, Suite 160
                                                Sterling, VA 22170 

als@bohra.cpg.oz (Anthony Shipman) (08/06/90)

In article <LARRY.90Aug2091559@focsys.uucp>, larry@focsys.uucp (Larry Williamson) writes:
> Users logged in on a 386/ix system that has mounted a file system from
> a MIPS fileserver cannot use wild cards in any of the directories that
> are on the MIPS file system.
> 
> Even emacs file name completion does not work. What a royal pain that
> is!

The MIPS file system probably has BSD style directories with long file names.
Programs on 386/ix should be linked with the POSIX directory compatibility
routines. (I've done this to ksh on SCO 3.2).

The shells are Interactive's problem. You may be able to do emacs yourself.
-- 
Anthony Shipman                               ACSnet: als@bohra.cpg.oz.au
Computer Power Group
9th Flr, 616 St. Kilda Rd.,
St. Kilda, Melbourne, Australia
D

johnl@esegue.segue.boston.ma.us (John R. Levine) (08/07/90)

In article <LARRY.90Aug2091559@focsys.uucp> you write:
>Is this an Interactive bug? Or is it a bug in the MIPS fileserver?

>Even emacs file name completion does not work. What a royal pain that
>is!

It's a bug in the client-side application software.  I expect you are
using csh rather than sh.  Programs that use the directory library with
opendir() and readdir() work with files over NFS, those that use the
traditional Sys V approach of opening the directory and reading 16-byte
chunks only work over NFS if the remote system happens to use Sys V
directory formats.  Interactive fixed sh for 2.0.2, but missed a bunch of
other programs.

If emacs has problems, you can probably fix it in a few minutes by finding
the place that it reads the directory and making it use opendir()
and readdir().

Regards,
John Levine, johnl@esegue.segue.boston.ma.us, {spdcc|ima|lotus}!esegue!johnl

larry@focsys.uucp (Larry Williamson) (08/08/90)

In article <LARRY.90Aug2091559@focsys.uucp> I wrote complaining about
wildcards not working properly on our 386/ix machine on directories
that were NFS links to Mips file servers.

It appears from all the mail I've received that this is a bug in the
applications that are doing the wild card expansion.

The version of ksh, emacs, and other applications we are using are
trying to read directories without using the proper directory(3)
routines (opendir(3), readdir(3), closedir(3), etc).

Emacs I can fix. Some of the other applications I can fix. Ksh I
cannot fix. And of course, this is the one tool we use all day long
where wildcards are the most valuable! :-( 

This ksh we are using is left over from our old Microport SV/AT system
(which has been sitting on my book shelf for a couple of years now).
So I don't think there is much I can do to get it fixed.  Anyone have
any ideas where I can get a good copy of ksh for 386/ix?

Thanks for the response.

-Larry

wje@redwood.mips.com (William J. Earl) (08/08/90)

In article <1990Aug03.030326.9796@virtech.uucp>, cpcahil@virtech (Conor P. Cahill) writes:
> In article <LARRY.90Aug2091559@focsys.uucp> larry@focsys.uucp (Larry Williamson) writes:
> >Users logged in on a 386/ix system that has mounted a file system from
> >a MIPS fileserver cannot use wild cards in any of the directories that
> >are on the MIPS file system.
> 
> This is a symptom of the program that you are using that is performing
> the wild card substitution is not NFS cognizant.  Wild card substitution
> routines (like the old glob routine) must use directory reading
> routines that know about NFS because you can't open a directory for 
> reading across NFS.
> 
> What program are you running when it fails?  I would hope that it is not
> the standard ISC shell.  If I remember correctly, this works fine under
> ISC's sh.
> 
> >I expect that this is a 386/ix bug because it is on the 386/ix machine
> >that the wild card expansion is taking place. 
> 
> This is a bug within the particular program (in this case running on you
> 386/ix machine), not in the OS itself.

      At an NFS Connectathon (where NFS interoperability is tested each year),
386 boxes commonly could not do any directory-reading operations (such
as wild-card expansion) to servers other than 386 boxes.  This is due
to many stock AT&T SVR3 applications reading directories as files, instead
of using directory-reading system call (getdents()).  Many, but not all,
manufacturers have corrected these bugs.  
-- 
	William J. Earl			wje@mips.com
	MIPS Computer Systems		408-524-8172
	930 Arques Avenue
	Sunnyvale, CA 94086

david@twg.com (David S. Herron) (08/08/90)

In article <LARRY.90Aug2091559@focsys.uucp> larry@focsys.uucp (Larry Williamson) writes:
>
>Is this an Interactive bug? Or is it a bug in the MIPS fileserver?
>
>Users logged in on a 386/ix system that has mounted a file system from
>a MIPS fileserver cannot use wild cards in any of the directories that
>are on the MIPS file system.

This is a bug .. it works for me *all* *the* *time* ..

>Even emacs file name completion does not work. What a royal pain that
>is!

Ah .. hah .. I believe I see the problem.  Directory reading doesn't
work over NFS in the time honored (ancient/archaic) tradition of
doing open(2) and read(2).  Instead, over NFS, directory objects
can only be read using the readir(2) family of routines.

Your shell probably doesn't do this..

Which explains why WIN/NFS has a replacement /bin/csh ... (I'd never
bothered toddling down the hall to ask that guy why csh was in there..)

I'd've thought emacs would do directory reading the New and Improved way..
-- 
<- David Herron, an MMDF weenie, <david@twg.com>
<- Formerly: David Herron -- NonResident E-Mail Hack <david@ms.uky.edu>
<-
<- Sign me up for one "I survived Jaka's Story" T-shirt!