summaryrefslogtreecommitdiff
path: root/docs/persistent_naming/testing_scsi_notes.txt
diff options
context:
space:
mode:
authorkay.sievers@vrfy.org <kay.sievers@vrfy.org>2004-11-06 14:28:01 +0100
committerGreg KH <gregkh@suse.de>2005-04-26 22:16:40 -0700
commit2b41e68a08548ce44b4d145900dab2bb04cd34f7 (patch)
treef2e96c9f150775e3673891d38a5af23d4246c826 /docs/persistent_naming/testing_scsi_notes.txt
parent482b0ecd8fcc2651c003c6f1ae9a2d3301ecf34a (diff)
[PATCH] replace tdb database by simple lockless file database
This makes the udev operation completely lockless by storing a file for every node in /dev/.udevdb/* This solved the problem with deadlocking concurrent udev processes waiting for each other to release the file lock under heavy load.
Diffstat (limited to 'docs/persistent_naming/testing_scsi_notes.txt')
-rw-r--r--docs/persistent_naming/testing_scsi_notes.txt20
1 files changed, 9 insertions, 11 deletions
diff --git a/docs/persistent_naming/testing_scsi_notes.txt b/docs/persistent_naming/testing_scsi_notes.txt
index 8d94c842b4..728b40b0fe 100644
--- a/docs/persistent_naming/testing_scsi_notes.txt
+++ b/docs/persistent_naming/testing_scsi_notes.txt
@@ -110,10 +110,8 @@ uses:
(1) /sys maintained by sysfs
(2) /etc/udev/udev.rules - where you can store the identifier to NAME
mapping information.
-(3) The tdb (udev-021/tdb/tdb.c), trivial data base, that is held in
- memory and holds the valid system configuration. It is not saved
- between one boot to the next. It is constructed at boot time and
- updated with configuration changes.
+(3) The udevdb, that keeps track the valid system configuration.
+ It is constructed at boot time and updated with configuration changes.
The persistent names are kept (at least this is one way to do it) in
udev.rules (uuid and NAME), one entry per device. If you want to initially
@@ -148,9 +146,9 @@ the device. The result of the program execution (the uuid) is compared
with the RESULT entry in the same udev.rules line.
- If it matches, then the NAME entered on this line is used. The uuid and
- major/minor number is saved in tdb (newly recreated upon boot). That
- device is created in /udev (the target directory name is configurable)
- with the assigned NAME.
+ major/minor number is saved in the udevdb (newly recreated upon boot).
+ That device is created in /udev (the target directory name is configurable)
+ with the assigned NAME.
- If it doesn't match, the RESULT (uuid) is preserved for use on the next
udev.rules line as long as the bus type (scsi) is the same. So the
@@ -159,18 +157,18 @@ with the RESULT entry in the same udev.rules line.
- If no match occurs, the device will be assigned a default name.
-- Tdb is updated with the resulting name assignment.
+- The udevdb is updated with the resulting name assignment.
Thus if the uuid and names are enumerated, they will be found, assigned,
and are therefore permanent.
If the device is removed from a live system, a hotplug event occurs, and it
-is removed from tdb and the /udev entry disappears.
+is removed from udevdb and the /udev entry disappears.
If it is re-inserted at a new location, the udev.rules file is scanned as
-above. The new major/minor number goes in tdb with the uuid , the name in
-udev.rules is found again, and the /udev name re-appears.
+above. The rule matches again against the uuid, the name in udev.rules
+is applied again and the /udev name re-appears.