> They are not, the device file and the directory are different objects
> that have the same name. In C, "foo" and "struct foo" can appear in
> the same scope but they are different objects. This must have seemed
> to be a strange idea at first. Here we have "foo" (a device) and
> "directory foo" (the device's properties).
They have the exact same name, how is anybody going to distinguish them?
> When I first saw Linus mention the idea I did a double-take, I thought
> it was a strange idea and my first reaction was, it would break all
> kinds of things. But when I started examining cases I was unable to
> find any real problems. When I asked code examples of breakage none of
> the supplied examples survived scrutiny. Then, when I looked through
> SUS I didn't find any prohibition.
I isn't allowed either...
> > The last time this was
> > discussed was for handling forks (a la Mac et al) in files, and it
> > was shot down.
>
> Do you have the subject line? It might save us some time ;-)
Nope, sorry.
> I seem to recall that the fork idea died because it was thought to
> require changes to userspace programs such as tar and find. The
> magicdev idea doesn't require such changes, none that I've seen so far.
tar(1) of /dev should blow up in exactly the same way, AFAICS...
Everybody just knows a device is a device, a file is a file, and a
directory is a directory. Standards notwithstanding, this is how things
work, and have worked for a _long_ time; with absolutely no warning that
the assumption might become wrong sometime or be wrong on some strange
beast (you didn't find anything in your search). I'd suspect nobody
bothered to cast this in stone because nobody even considered such a
twisted possibility.
Take it up with somebody on the standards commitees, they (should) have
looked long and hard at the nooks and cranies in the standard, and so are
in a better position to comment than we here are.
-- Dr. Horst H. von Brand mailto:vonbrand@inf.utfsm.cl Departamento de Informatica Fono: +56 32 654431 Universidad Tecnica Federico Santa Maria +56 32 654239 Casilla 110-V, Valparaiso, Chile Fax: +56 32 797513 - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/