summaryrefslogtreecommitdiff
path: root/docs/overview
diff options
context:
space:
mode:
Diffstat (limited to 'docs/overview')
-rw-r--r--docs/overview102
1 files changed, 0 insertions, 102 deletions
diff --git a/docs/overview b/docs/overview
deleted file mode 100644
index 87c1d1df10..0000000000
--- a/docs/overview
+++ /dev/null
@@ -1,102 +0,0 @@
--------------------------------------------------------------------------
- This is a proposal from the early days of udev. A lot of the things
- mentioned here are implemented differently and most of the features
- implemented in udev are not part of that document.
- This document is only kept in the tree for sentimental reasons.
--------------------------------------------------------------------------
-
-We've got a couple of goals for udev:
-
-1) dynamic replacement for /dev
-2) device naming
-3) API to access info about current system devices
-
-Splitting these goals into separate subsystems:
-
-1) udev - dynamic replacement for /dev
-2) namedev - device naming
-3) libsysfs - a standard library for accessing device information on the
- system.
-
-Udev
-------
-
-Udev will be responsible for responding to /sbin/hotplug on device
-events. It will receive the device class information along with
-device's sysfs directory. Udev will call the name_device function from
-the naming device subsystem with that information and receive a unique
-device name in return. Udev will then query sysfs through the libsysfs
-for specific device information required for creating the /dev node like
-major and minor number. Once it has the important information, udev
-will create a /dev entry for the device, add the device to the in memory
-table of current devices, and send notification of the successful event
-through a D-BUS message. On a remove call, udev will remove the /dev
-entry, remove the device from the in memory table, and send
-notification.
-
-Udev will consist of a command udev - to be called from /sbin/hotplug.
-It will require the in memory dynamic database/table for keeping track
-of current system devices, and a library of routines for accessing that
-database/table. Udev will not care about "how" devices are named, that
-will be separated into the device naming subsystem. It's presented a
-common device naming API by the device naming subsystem to use for
-naming devices.
-
-
-
-namedev
-----------
-
-From comments people have made, the device naming part of udev has been
-pushed into its own "subsystem". The reason is to make this as flexible
-and pluggable as possible. The device naming subsystem, or namedev, will
-present a standard interface for udev to call for naming a particular
-device. Under that interface, system administrators can plug in their
-own methods for device naming.
-
-We would provide a default naming scheme. The first prototype
-implementation could simply take the sysfs directory passed in with the
-device name function, query sysfs for the major and minor numbers, and
-then look up in a static device name mapping file the name of the
-device. The static device naming file could look just like devices.txt
-in the Linux kernel's Documentation directory. Obviously, this isn't a
-great implementation because eventually we'd like major an minor numbers
-to be dynamic.
-
-The default naming scheme in the future would have a set of policies to
-go through in order to determine the name of the device. The device
-naming subsystem would get the sysfs directory of the to be named device
-and would use the following information in order to map the device's
-name:
-
-1) Label info - like SCSI's UUID
-2) Bus Device Number
-3) Topology on Bus
-4) Kernel Name - DEFAULT
-
-System administrators could use the default naming system or enterprise
-computing environments could plug in their Universal Unique Identifier
-(UUID) policies. The idea is to make the device naming as flexible and
-pluggable as possible.
-
-The device naming subsystem would require accessing sysfs for device
-information. It will receive the device's sysfs directory in the call
-from udev and use it to get more information to determine naming. The
-namedev subsystem will include a standard naming API for udev to use.
-The default naming scheme will include a set of functions and a static
-device naming file, which will reside in /etc or /var.
-
-
-
-libsysfs
---------
-
-There is a need for a common API to access device information in sysfs.
-The device naming subsystem and the udev subsystem need to take the
-sysfs directory path and query device information. Instead of copying
-code so each one will have to readdir, etc., splitting this logic of
-sysfs calls into a separate library that will sit atop sysfs makes more
-sense. Sysfs callbacks aren't standard across devices, so this is
-another reason for creating a common and standard library interface for
-querying device information.
-