From: Andris Pavenis <pavenis@latnet.lv>
To: rgooch@atnf.csiro.au
Cc: linux-kernel@vger.kernel.org
Subject: Problems with devfs [WAS: Re: devfs breakage in 2.4.0 release]
Date: Tue, 6 Feb 2001 12:11:30 +0200 [thread overview]
Message-ID: <01020612113000.14713@hal> (raw)
In-Reply-To: <01010615285000.00465@hal> <01011213352000.00369@hal> <01012310255000.31379@hal>
In-Reply-To: <01012310255000.31379@hal>
[-- Attachment #1: Type: text/plain, Size: 2988 bytes --]
On Tuesday 23 January 2001 10:25, Andris Pavenis wrote:
> On Friday 12 January 2001 13:35, Andris Pavenis wrote:
> > On Saturday 06 January 2001 15:28, Andris Pavenis wrote:
> > > Noticed following devfs related problems with kernel version 2.4.0 on
> > > one Pentium 200MMX box (the same problem with 2.4.0-ac2, but earlier
> > > 2.4.0-test10 doesn't have this problem)
> > >
> > > I was able to reproduce it reliably by following steps:
> > > - booted machine in runlevel 3
> > > - logged in as user and started MC (on first console)
> > > - logged out
> > > - logged in as different user (in this case root) and tried to
> > > start MC again
> > >
> > > This time it hangs. The source of problem appears to be devfs related
> > > as devfsd exited with error message that it cannot state vcc/1 as there
> > > is no such file or directory. Related parts of log files (boot
> > > parameter devfs=dall) and other related information (I hope...) is in
> > > attachment. Of course MC is not behaving nicely, but the primary source
> > > of problem seems to be devfs
> >
> > As I tested devfsd dies after I'm logging out (very often on P200MMX,
> > much more seldom on P3 700). I suspect some devfs related race
> >
> > > On this machine kernel was compiled for Pentium CPUs. I tried to
> > > reproduce the same on a different machine with Pentium III 700 using
> > > kernel 2.4.0. It took more relogging as on Pentium 200, but I got the
> > > same problem once (on slower machine I was able to reproduce it more
> > > reliably).
> >
> > I tries 2.4.1-pre3 and got the same. Modifying devfsd.c to retry stating
> > some times before giving up workarounds the problem (As far as I tested
> > I'm getting only one retry ...)
> >
> > Perhaps it's kernel's bug anyway, but I think it's doesn't harm to make
> > devfsd slightly more errorproof. I'm including patch for devfsd (I had
> > also to define __USE_GNU to get devfsd compile with glibc-2.2 at all ...)
> >
> > Of course best solution would be to fix the race itself (it appeared
> > sometimes between 2.4.0-test10 and 2.4.0-test12, first one is OK) ....
>
> I spent some time building various kernels on P200MMX box I have this
> problem to happen more often. It looks that problem appears in
> 2.4.0-test12-pre8 but is not present in 2.4.0-test12-pre7
>
Forgot to mention: I have line
REGISTER vcc/a* PERMISSIONS root.vcsa rw-rw----
REGISTER vcc/[0-9] PERMISSIONS root.tty rw-rw----
in /etc/devfsd.conf (to change permissions for vcc/* as I don't want to make
some applications suid root)
So perhaps after logout current of vcc/[0-9] is reregistered, but sometimes
devfsd suceeds to try to change permissions before the new node is created
and stat() fails (ENOENT) in action_permissions(), as result unpached
devfsd-1.3.11 exits with error message. Adding code to retry stat() after
some small delay (usleep(1000)) workarounds problem.
I'm including full /etc.devfsd in attachment.
Andris
[-- Attachment #2: devfsd.conf --]
[-- Type: text/plain, Size: 1519 bytes --]
# Sample /etc/devfsd.conf configuration file.
# Richard Gooch <rgooch@atnf.csiro.au> 3-FEB-2000
#
# Enable full compatibility mode for old device names. You may comment these
# out if you don't use the old device names. Make sure you know what you're
# doing!
REGISTER .* MKOLDCOMPAT
UNREGISTER .* RMOLDCOMPAT
# You may comment out the above and uncomment the following if you've
# configured your system to use the original "new" devfs names or the really
# new names
#REGISTER vc/.* MKOLDCOMPAT
#UNREGISTER vc/.* RMOLDCOMPAT
#REGISTER pty/.* MKOLDCOMPAT
#UNREGISTER pty/.* RMOLDCOMPAT
#REGISTER misc MKOLDCOMPAT
#UNREGISTER misc RMOLDCOMPAT
# Enable module autoloading. You may comment this out if you don't use
# autoloading
LOOKUP .* MODLOAD
# You may comment these out if you don't use the original "new" names
REGISTER .* MKNEWCOMPAT
UNREGISTER .* RMNEWCOMPAT
#
#
REGISTER floppy/* PERMISSIONS root.floppy rw-rw----
REGISTER sound/audio PERMISSIONS root.sound rw-rw----
REGISTER sound/dsp PERMISSIONS root.sound rw-rw----
REGISTER sound/dspW PERMISSIONS root.sound rw-rw----
REGISTER sound/mixer PERMISSIONS root.sound rw-rw----
REGISTER misc/psaux EXECUTE /bin/ln -s /dev/misc/psaux /dev/mouse
REGISTER vcc/a* PERMISSIONS root.vcsa rw-rw----
REGISTER vcc/[0-9] PERMISSIONS root.tty rw-rw----
REGISTER ide/host0/bus1/target0/lun0/cd EXECUTE /bin/ln -s /dev/ide/host0/bus1/target0/lun0/cd /dev/cdrom
prev parent reply other threads:[~2001-02-06 10:12 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2001-01-06 13:28 devfs breakage in 2.4.0 release Andris Pavenis
2001-01-12 11:35 ` Andris Pavenis
2001-01-23 8:25 ` Andris Pavenis
2001-02-06 10:11 ` Andris Pavenis [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=01020612113000.14713@hal \
--to=pavenis@latnet.lv \
--cc=linux-kernel@vger.kernel.org \
--cc=rgooch@atnf.csiro.au \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox