From: Mike H. <mh...@gl...> - 2008-11-12 10:25:15
|
On Wed, Nov 12, 2008 at 10:36:25AM +0100, Miklos Szeredi <mi...@sz...> wrote: > On Wed, 12 Nov 2008, Tejun Heo wrote: > > Christoph Hellwig wrote: > > > On Wed, Nov 12, 2008 at 05:41:18PM +0900, Tejun Heo wrote: > > >>> emulated char devices to be char devices? What I mean is, what would > > >>> happen if instead of a char device /dev/dsp would be a regular file > > >>> mounted on /dev/dsp (which implements all the necessary interfaces: > > >>> ioctls, poll, etc)? > > >> For most it would work, I suppose, but there are all sorts of wonky > > >> users out in the wild (and quite a few that we don't have source access > > >> to) and different configurations, so I think it's better to appear as > > >> proper character device if it is a character device. It will also help > > >> udev and other desktop thingies deal with devices implemented in userland. > > > > > > Note that mounting a char device on /dev/dsp is exactly the same as > > > mounting a regular file on /dev/dsp - the only difference is what you > > > set i_mode to. > > > > A difference is how the device is located. With proper character device > > emulation, any char device node on any filesystem would work. Not sure > > how relevant that would be tho. > > Yeah, I think it would be a bit hacky to lie about being a device with > a specific major/minor number, when in fact we just set those in the > stat fields, and the real char device would return ENODEV or implement > something else. > > So I'd prefer the CUSE approach if we want the file to actually look > like a device. You're talking about fusd, here. http://www.circlemud.org/~jelson/software/fusd/ Mike |