[Cc'd to inistcripts and devfsd maintainers]

http://www.uwsg.indiana.edu/hypermail/linux/kernel/0112.0/0133.html

> parport0: assign_addrs: aa5500ff(80) 
> parport_pc: Via 686A parallel port: io=0x378 
> devfs: devfs_mk_dir(printers): could not append to dir: dffe45c0 "",
err: -17 
> lp0: using parport0 (polling). 


Something other than drivers/char/lp.c is creating (implicitly or 
explicitly) the "printers" directory in the devfs root dir.

...

BTW: if it is something in user-space creating these entries (say some 
vendor-provided boot script which populates devfs with "persistent" 
entries), then I suggest you rip out whatever is doing it.

And later:

http://www.uwsg.indiana.edu/hypermail/linux/kernel/0112.0/0368.html

> I found the reason for these messages. It has a boot-script source. 
> Mandrake stores the attributes of device nodes in /lib/dev-state. 
> This directory is copied into /dev directly before devfsd is started. 


OK, clean out stuff you don't need in /lib/dev-state. Check your 
devfsd configuation to see if /lib/dev-state is being repopulated 
automatically. If so, grab devfsd-v1.3.20 and use the new RESTORE 
directive. This is the correct way to handle persistence. Remove the 
boot-script code which populates from /lib/dev-state. 


> If there is a device file in /lib/dev-state it is created in /dev 
> even before the driver is loaded. When the driver is loaded it 
> tries again to create the node and the message appears. 


OK, I suspected as much. Good. Thanks for tracking this down. 
Attempting to create the same entry twice *should* yield EEXIST on the 
second try. The new devfs is strict about this, the old one wasn't. 


I consider this issue closed. I'd suggest you contact Mandrake and get 
them to upgrade to devfsd-v1.3.20, remove the boot script code and use 
the RESTORE directive instead. This requires v1.2 of the devfs core 
(found in 2.4.17-pre1). 



Reply via email to