All of lore.kernel.org
 help / color / mirror / Atom feed
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

      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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.