[lkml]   [2001]   [May]   [14]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    SubjectRe: LANANA: To Pending Device Number Registrants
    > It's not so much about hardcoding the names as hardcoding the *STRUCTURE*
    > of the names. For example, the current devfs has /dev/misc/* which is
    > completely bogus -- it exposes an implementation detail (using the

    The fact kernel space touches on naming directly is itself bogus. devfsd doing
    it is nice, devfs doing naming - well it could be done.

    > miscdev API as opposed to the charmajor API) which should be hidden; in
    > fact a number of drivers have started their lives as miscdev devices and
    > changed over time.

    IHMO We have three types of namespaces

    1. Kernel interface namespace. Policy set by the kernel. Mappings
    constant and well defined where the underlying objects are well

    - inodes, dev_t

    You can make it a string if you like but at the end of the day
    has to be an opaque handle. For constant devices it also has to be
    a constant name. Otherwise the /dev file I archived with the corporate
    backup system turns out to be a different device when I restore the
    box after a problem and I reformat the wrong disk...

    And yes some stuff really is dynamic. Trying to talk about USB
    devices in a constant way is kind of hard.

    We could re-encode these as strings. In fact thats how AmigaOS and
    VMS seem to do it. But we have the standards that are based on
    numbers and people who do like to assume they have meaning (eg
    hdparm, some scsi tools, ...). At best the string is a variable length
    encoding of a cookie.

    Another real horror we have is trademarks. We've already had people
    force changes on the name of kernel modules by threatening/asking
    because names have trademark value and they argue module names
    could be confusing.

    *NOBODY* at the 2.5 kernel summit had an answer to that problem.

    2. User namespaces. Language dependant. Policy dependant.
    Can be dynamic, can be static, can be arbitary. Not set by kernel


    Generally has to be centrally managed to put an order on the
    name spaces.

    3. Enumeration spaces

    Things like /dev/disc on devfs. Spaces that allow you to walk across
    all devices with a given property. A device can be in many

    I don't care how #2 is implemented. I care that I can implement #2 any way
    I like. I care that I can implement #2 compatibly with my existing apps and
    my existing backup system. I care that people who dont speak a word of English
    can internationalise it.

    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to
    More majordomo info at
    Please read the FAQ at

     \ /
      Last update: 2005-03-22 12:53    [W:0.022 / U:31.756 seconds]
    ©2003-2017 Jasper Spaans. hosted at Digital OceanAdvertise on this site