|
|
be3800 |
From a4035d7ebcb2bbc173a626f69798bedba03978b9 Mon Sep 17 00:00:00 2001
|
|
|
be3800 |
From: Joerg Steffens <joerg.steffens@bareos.com>
|
|
|
be3800 |
Date: Tue, 21 Nov 2017 12:21:49 +0100
|
|
|
be3800 |
Subject: [PATCH] udev-rules: make tape-changers also apprear in
|
|
|
be3800 |
/dev/tape/by-path/
|
|
|
be3800 |
|
|
|
be3800 |
It is important to be able to access tape changer ("Medium Changers") by
|
|
|
be3800 |
persistant name.
|
|
|
be3800 |
While tape devices can be accessed via /dev/tape/by-id/ and
|
|
|
be3800 |
/dev/tape/by-path/, tape-changers could only be accessed by
|
|
|
be3800 |
/dev/tape/by-id/.
|
|
|
be3800 |
However, in some cases, especially when accessing Amazon Webservice
|
|
|
be3800 |
Storage Gateway VTLs (or accessing iSCSI VTLs in general?) this does not
|
|
|
be3800 |
work, as all tape devices and the tape changer have the same ENV{ID_SERIAL}.
|
|
|
be3800 |
The results is, that only the last device is available in
|
|
|
be3800 |
/dev/tape/by-id/, as the former devices have been overwritten.
|
|
|
be3800 |
|
|
|
be3800 |
As this behavior is hard to change without breaking consistentcy,
|
|
|
be3800 |
this additional device in /dev/tape/by-path/ can be used to access the medium changes.
|
|
|
be3800 |
The tape devices can also be accessed by this path.
|
|
|
be3800 |
|
|
|
be3800 |
The content of the directory will now look like:
|
|
|
be3800 |
|
|
|
be3800 |
# SCSI tape device, rewind (unchanged)
|
|
|
be3800 |
/dev/tape/by-path/$env{ID_PATH} -> ../../st*
|
|
|
be3800 |
|
|
|
be3800 |
# SCSI tape device, no-rewind (unchanged)
|
|
|
be3800 |
/dev/tape/by-path/$env{ID_PATH}-nst -> ../../nst*
|
|
|
be3800 |
|
|
|
be3800 |
# SCSI tape changer device (newly added)
|
|
|
be3800 |
/dev/tape/by-path/$env{ID_PATH}-changer -> ../../sg*
|
|
|
be3800 |
|
|
|
be3800 |
Tape devices and tape changer have different ID_PATHs.
|
|
|
be3800 |
SCSI tape changer get the suffix "-changer"
|
|
|
be3800 |
to make them better distinguishable from tape devices.
|
|
|
be3800 |
|
|
|
be3800 |
(cherry picked from commit 7f8ddf96a25162f06bd94a684cf700c128d18142)
|
|
|
be3800 |
(cherry picked from commit f60e89ea4c38c11a9d0c1e642c0a78faa32aca56)
|
|
|
be3800 |
Resolves: #1836981
|
|
|
be3800 |
---
|
|
|
be3800 |
rules/60-persistent-storage-tape.rules | 3 +++
|
|
|
be3800 |
1 file changed, 3 insertions(+)
|
|
|
be3800 |
|
|
|
be3800 |
diff --git a/rules/60-persistent-storage-tape.rules b/rules/60-persistent-storage-tape.rules
|
|
|
be3800 |
index b604864ee8..0575f308df 100644
|
|
|
be3800 |
--- a/rules/60-persistent-storage-tape.rules
|
|
|
be3800 |
+++ b/rules/60-persistent-storage-tape.rules
|
|
|
be3800 |
@@ -9,6 +9,9 @@ ENV{UDEV_DISABLE_PERSISTENT_STORAGE_RULES_FLAG}=="1", GOTO="persistent_storage_t
|
|
|
be3800 |
SUBSYSTEM=="scsi_generic", SUBSYSTEMS=="scsi", ATTRS{type}=="8", IMPORT{program}="scsi_id --sg-version=3 --export --whitelisted -d $devnode", \
|
|
|
be3800 |
SYMLINK+="tape/by-id/scsi-$env{ID_SERIAL}"
|
|
|
be3800 |
|
|
|
be3800 |
+SUBSYSTEM=="scsi_generic", SUBSYSTEMS=="scsi", ATTRS{type}=="8", IMPORT{builtin}="path_id", \
|
|
|
be3800 |
+ SYMLINK+="tape/by-path/$env{ID_PATH}-changer"
|
|
|
be3800 |
+
|
|
|
be3800 |
SUBSYSTEM!="scsi_tape", GOTO="persistent_storage_tape_end"
|
|
|
be3800 |
|
|
|
be3800 |
KERNEL=="st*[0-9]|nst*[0-9]", ATTRS{ieee1394_id}=="?*", ENV{ID_SERIAL}="$attr{ieee1394_id}", ENV{ID_BUS}="ieee1394"
|