Re: CD writing in future Linux (stirring up a hornets' nest)

From: Vojtech Pavlik
Date: Thu Jan 26 2006 - 14:19:29 EST


On Thu, Jan 26, 2006 at 07:28:18PM +0100, Olivier Galibert wrote:
> On Thu, Jan 26, 2006 at 07:10:34PM +0100, Vojtech Pavlik wrote:
> > The kernel interface is sysfs and hotplug.
>
> Hotplug, of course, can't be used from a program. As for sysfs, as
> said in the mail to Jens, I'm not sure how to:
>
> - find the devices, what should I scan/filter on. udev seems likes it
> needs to run a program (/sbin/cdrom_id) or scan
> /proc/sys/dev/cdrom/info just to know if a device is a cdrom...
>
> - find the /dev name associated to a sysfs-found device.

That's why I said that sysfs/hotplug are kernel interfaces. They are the
interfaces the kernel uses to tell the rest of the system what devices
are there.

They are by no means interfaces that common tools should use.

> > Udev interfaces that and can be set up so that it assigns
> > /dev/cdrecorder0, 1, ... to evey recorder in the system, implementing
> > the userspace interface.
>
> Problem is, udev doesn't. Or at least it varies from distribution to
> distribution.

Yes. That is something that can be fixed, though. It's some work, but
it's just that - no controversies involved.

> For instance recent gentoo creates /dev/cdrom*,
> /dev/cdrw*, /dev/dvd*, /dev/dvdrw*. Fedora core 3 creates
> /dev/cdrom*, /dev/cdwriter*, /dev/dvd*, /dev/dvdwriter*. I guess from
> your email that SuSE does /dev/cdrecorder*. And I'm not able to
> guess what fedora core 5, mandrake, debian, slackware and infinite
> number of derivatives do.

That's what LSB and other standards are for. Defining standard
filesystem layout for programs to use (this includes /dev !).

And that's what also distros are for - setting correct defaults in the
programs when they package them.

In the end, on a well done distribution it works. And some time after
one is created, the distributions do follow the standard, too.

> > HAL interfaces the above and implements the desktop interface.
>
> I'm not sure how trustable HAL is at that point given what's going on
> with udev and I'm not too happy to have to require to daemons (dbus
> system and hald) to run to find the devices, but heh...

It's mostly required if you run GNOME or KDE, so for desktop
applications it makes perfect sense.


--
Vojtech Pavlik
SuSE Labs, SuSE CR
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/