mirror of
https://github.com/systemd/systemd-stable.git
synced 2024-10-31 07:51:08 +03:00
2b41e68a08
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.
40 lines
706 B
Bash
40 lines
706 B
Bash
#!/bin/bash
|
|
|
|
RULES=label_test.rules
|
|
CONFIG=label_test.conf
|
|
|
|
export UDEV_TEST=yes
|
|
export SYSFS_PATH=$PWD/sys/
|
|
export UDEV_CONFIG_FILE=$PWD/$CONFIG
|
|
|
|
cat > $RULES << EOF
|
|
BUS="scsi", SYSFS{vendor}="IBM-ESXS", SYSFS{model}="ST336605LW !#", NAME="boot_diskX%n"
|
|
BUS="scsi", SYSFS{vendor}="IBM-ESXS", SYSFS{model}="ST336605LW !#", NAME="a/nice/place/to/put/a/boot_disk%n"
|
|
EOF
|
|
|
|
cat > $CONFIG << EOF
|
|
udev_root="$PWD/udev/"
|
|
udev_db="$PWD/udev/.udevdb"
|
|
udev_rules="$PWD/$RULES"
|
|
udev_permissions="$PWD/udev.permissions"
|
|
EOF
|
|
|
|
mkdir udev
|
|
|
|
export ACTION=add
|
|
export DEVPATH=block/sda
|
|
|
|
../udev block
|
|
ls -l udev
|
|
|
|
export ACTION=remove
|
|
export DEVPATH=block/sda
|
|
|
|
../udev block
|
|
ls -l udev
|
|
|
|
|
|
rm $RULES
|
|
rm $CONFIG
|
|
rm -rf udev
|