Russell Coker writes:
> On Fri, 15 Feb 2002 05:12, Richard Gooch wrote:
> > > At linux.conf.au Keith and I were looking into devfs module loading
> > > issues.
> > >
> > > We noticed that the distribution he was running (some RPM distribution)
> > > had a lot of scripts with code like the following:
> > >
> > > for n in /dev/dsp* ; do
> > > ...
> > > done
> > >
> > > This results in `modprobe "/dev/dsp*"` being run once for the for line
> > > and then a second time in the body of the loop.
> > >
> > > We discovered that a significant number of useless modprobe runs
> > > were removed when we added the following to devfsd.conf:
> > > LOOKUP \*$ IGNORE
> > >
> > > Before the following line in the default config:
> > > LOOKUP .* MODLOAD
> > >
> > > I think that this should be part of the default config file.
> >
> > This sounds to me like it's a script problem. For bash-v1.x I have:
> > allow_null_glob_expansion=
> >
> > and for bash-v2.x I have:
> > shopt -s nullglob
>
> So that means one modprobe invocation instead of two.
No, it means none, since the shell will do a directory read to expand
/dev/dsp* and will get no entries. Thus no LOOKUP events.
> Also "ls /dev/foo*" will result in modprobe being called when (IMHO)
> it shouldn't.
Not with null globbing.
> > Why not just fix the scripts? A trailing '*' might be used in a
> > filename, so I'd prefer not to break that.
>
> Why would someone want to put a '*' character into a devfs file
> name? I have never heard of any version of Unix using '*' or '?'
> characters in file names for /dev, why would someone want to start
> such foolishness now?
I just prefer to avoid imposing policy if I don't have to. And since
this seems to be a problem with the scripts...
Regards,
Richard....
Permanent: rgooch@xxxxxxxxxxxxx
Current: rgooch@xxxxxxxxxxxxxxx
|