all lists on lists.proxmox.com
 help / color / mirror / Atom feed
* [pbs-devel] [PATCH proxmox-backup] tape: library status: don't fail if the library does not support DVCID
@ 2023-08-09  9:12 Dominik Csapak
  2023-11-27 10:44 ` [pbs-devel] applied: " Dietmar Maurer
  0 siblings, 1 reply; 2+ messages in thread
From: Dominik Csapak @ 2023-08-09  9:12 UTC (permalink / raw)
  To: pbs-devel

some libraries (e.g. Qualstar) don't support the DVCID bit in the READ
ELEMENT (B8) command (to return vendor/model of connected drives), so
make that part optional if it fails. We only ever use the serial number
in the `pmtx` tool, so there is not much downside to not having this.

This increases compatibility with such libraries

Reported in the forum:
https://forum.proxmox.com/threads/cant-query-tape-robot-status.131833/

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
---
 pbs-tape/src/sg_pt_changer.rs | 22 ++++++++++++----------
 1 file changed, 12 insertions(+), 10 deletions(-)

diff --git a/pbs-tape/src/sg_pt_changer.rs b/pbs-tape/src/sg_pt_changer.rs
index c5a0b561..6cb3a044 100644
--- a/pbs-tape/src/sg_pt_changer.rs
+++ b/pbs-tape/src/sg_pt_changer.rs
@@ -398,20 +398,22 @@ pub fn read_element_status<F: AsRawFd>(file: &mut F) -> Result<MtxStatus, Error>
 
     // get the serial + vendor + model,
     // some changer require this to be an extra scsi command
-    let page = get_element(
+    // some changers don't support this
+    if let Ok(page) = get_element(
         &mut sg_raw,
         ElementType::DataTransferWithDVCID,
         allocation_len,
         false,
-    )?;
-    // should be in same order and same count, but be on the safe side.
-    // there should not be too many drives normally
-    for drive in drives.iter_mut() {
-        for drive2 in &page.drives {
-            if drive2.element_address == drive.element_address {
-                drive.vendor = drive2.vendor.clone();
-                drive.model = drive2.model.clone();
-                drive.drive_serial_number = drive2.drive_serial_number.clone();
+    ) {
+        // should be in same order and same count, but be on the safe side.
+        // there should not be too many drives normally
+        for drive in drives.iter_mut() {
+            for drive2 in &page.drives {
+                if drive2.element_address == drive.element_address {
+                    drive.vendor = drive2.vendor.clone();
+                    drive.model = drive2.model.clone();
+                    drive.drive_serial_number = drive2.drive_serial_number.clone();
+                }
             }
         }
     }
-- 
2.30.2





^ permalink raw reply	[flat|nested] 2+ messages in thread

* [pbs-devel] applied: [PATCH proxmox-backup] tape: library status: don't fail if the library does not support DVCID
  2023-08-09  9:12 [pbs-devel] [PATCH proxmox-backup] tape: library status: don't fail if the library does not support DVCID Dominik Csapak
@ 2023-11-27 10:44 ` Dietmar Maurer
  0 siblings, 0 replies; 2+ messages in thread
From: Dietmar Maurer @ 2023-11-27 10:44 UTC (permalink / raw)
  To: Proxmox Backup Server development discussion, Dominik Csapak

applied




^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2023-11-27 10:44 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-08-09  9:12 [pbs-devel] [PATCH proxmox-backup] tape: library status: don't fail if the library does not support DVCID Dominik Csapak
2023-11-27 10:44 ` [pbs-devel] applied: " Dietmar Maurer

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal