Subject: Re: Another changer, another changer problem
To: None <email@example.com>
From: der Mouse <mouse@Rodents.Montreal.QC.CA>
Date: 10/20/1998 17:55:58
>> Not that this is necessarily *wrong*. But it "feels ugly" to me in
>> a way that the labelfs suggestion I gave doesn't.
> True, but the labelfs thing isn't any different really; it just begs
> the question in the same way that the question of mounting the fs on
> a removable volume is begged.
I suppose. But mounting and unmounting on the fly is a familiar thing.
Its problems are well known and "unsurprising", in some sense.
>>>> mount -t labelfs /dev/sd0 /dev/psd0
>>>> What sort of filesystem entities are /dev/psd0/a, /dev/psd0/b, etc?
>>> In an ideal world they'd be device special files with no
>>> particularly special major/minor, that the devfs code or labelfs
>>> code would route off to the right place on its own.
>> But the labelfs code doesn't get control. The vfs layer  passes
>> back a device special file , then I *think* it is out of the loop
>> thereafter; it's the driver for the major number of the device that
>> gets the call if the thing is to be opened.
> I would describe this as a mistake in the VFS layer, in the long
> term, and one that's not hard to fix - you ought to be able to hand
> back things that look like device special files to the user but are
> interpreted by the filesystem.
This would be a pretty big semantic change. It means that all
<major,minor> pairs have to be qualified with some sort of identifier
for the filesystem that generated them, all the way from userland on
up. (Remember, userland sees major and minor device numbers.)
> While we're talking about features, one of the things I've wanted to
> see for years (though I've never been sure how to accomplish it) is
> opening devices with arguments. I liked how AmigaDOS let you open
> things like "ser0:9600/n/8/1", and often thought some feature like
> this would cut down a lot on clutter in /dev.
At least as I understand portalfs (which admittedly is not as well as
7D C8 61 52 5D E7 2D 39 4E F1 31 3E E8 B3 27 4B