mirror of
https://github.com/systemd/systemd.git
synced 2024-12-25 01:34:28 +03:00
write_cd_rules: identity-based persistence
Bryan Kadzban wrote: > Marco d'Itri wrote: > > Bryan Kadzban wrote: > > > > > This is a sort of follow-up of my path-based persistence patch for > > > net devices; it's the opposite type of addition for CD symlinks. > > > > Looks good. I am attaching a slightly reformatted version, I think it > > should be applied. > > That's probably a lot more clear than my version anyway: what you posted > looks like it does basically the same thing, just with some changes in > the order and sense of checks.
This commit is contained in:
parent
26133d54e0
commit
64e6d9dd70
@ -50,6 +50,38 @@ if [ -z "$ID_CDROM" ]; then
|
|||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if [ "$1" ]; then
|
||||||
|
METHOD="$1"
|
||||||
|
else
|
||||||
|
METHOD='by-path'
|
||||||
|
fi
|
||||||
|
|
||||||
|
case "$METHOD" in
|
||||||
|
by-path)
|
||||||
|
if [ -z "$ID_PATH" ]; then
|
||||||
|
echo "$DEVPATH not supported by path_id. by-id may work." >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
RULE="ENV{ID_PATH}==\"$ID_PATH\""
|
||||||
|
;;
|
||||||
|
|
||||||
|
by-id)
|
||||||
|
if [ "$ID_SERIAL" ]; then
|
||||||
|
RULE="ENV{ID_SERIAL}==\"$ID_SERIAL\""
|
||||||
|
elif [ "$ID_MODEL" -a "$ID_REVISION" ]; then
|
||||||
|
RULE="ENV{ID_MODEL}==\"$ID_MODEL\", ENV{ID_REVISION}==\"$ID_REVISION\""
|
||||||
|
else
|
||||||
|
echo "$DEVPATH not supported by ata_id. by-path may work." >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
|
||||||
|
*)
|
||||||
|
echo "Invalid argument (must be either by-path or by-id)." >&2
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
# Prevent concurrent processes from modifying the file at the same time.
|
# Prevent concurrent processes from modifying the file at the same time.
|
||||||
lock_rules_file
|
lock_rules_file
|
||||||
|
|
||||||
@ -58,7 +90,7 @@ choose_rules_file
|
|||||||
|
|
||||||
link_num=$(find_next_available 'cdrom[0-9]*')
|
link_num=$(find_next_available 'cdrom[0-9]*')
|
||||||
|
|
||||||
match="ENV{ID_CDROM}==\"?*\", ENV{ID_PATH}==\"$ID_PATH\""
|
match="ENV{ID_CDROM}==\"?*\", $RULE"
|
||||||
|
|
||||||
comment="$ID_MODEL ($ID_PATH)"
|
comment="$ID_MODEL ($ID_PATH)"
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user