From 0f1cc69943e3532ffacd50414bf407a1e9553b3b Mon Sep 17 00:00:00 2001 From: abh1sar Date: Tue, 29 Apr 2025 16:58:34 +0530 Subject: [PATCH 1/2] Fix Nas bnr restore --- .../LibvirtRestoreBackupCommandWrapper.java | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/wrapper/LibvirtRestoreBackupCommandWrapper.java b/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/wrapper/LibvirtRestoreBackupCommandWrapper.java index 49b671943561..a5b50d98a739 100644 --- a/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/wrapper/LibvirtRestoreBackupCommandWrapper.java +++ b/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/wrapper/LibvirtRestoreBackupCommandWrapper.java @@ -150,16 +150,12 @@ private String mountBackupDirectory(String backupRepoAddress, String backupRepoT String mountDirectory = String.format("%s.%s",BACKUP_TEMP_FILE_PREFIX , randomChars); try { mountDirectory = Files.createTempDirectory(mountDirectory).toString(); - String mountOpts = null; - if (Objects.nonNull(mountOptions)) { - mountOpts = mountOptions; - if ("cifs".equals(backupRepoType)) { - mountOpts += ",nobrl"; - } - } String mount = String.format(MOUNT_COMMAND, backupRepoType, backupRepoAddress, mountDirectory); - if (Objects.nonNull(mountOpts)) { - mount += " -o " + mountOpts; + if ("cifs".equals(backupRepoType)) { + mountOptions += ",nobrl"; + } + if (!mountOptions.trim().isEmpty()) { + mount += " -o " + mountOptions; } Script.runSimpleBashScript(mount); } catch (Exception e) { From c73c1c9f3f703ad99ceb488706e6d8c563d42514 Mon Sep 17 00:00:00 2001 From: abh1sar Date: Tue, 29 Apr 2025 19:01:37 +0530 Subject: [PATCH 2/2] Add null check, remove preceding comma before nobrl --- .../wrapper/LibvirtRestoreBackupCommandWrapper.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/wrapper/LibvirtRestoreBackupCommandWrapper.java b/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/wrapper/LibvirtRestoreBackupCommandWrapper.java index a5b50d98a739..141c1d5ea191 100644 --- a/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/wrapper/LibvirtRestoreBackupCommandWrapper.java +++ b/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/wrapper/LibvirtRestoreBackupCommandWrapper.java @@ -152,9 +152,13 @@ private String mountBackupDirectory(String backupRepoAddress, String backupRepoT mountDirectory = Files.createTempDirectory(mountDirectory).toString(); String mount = String.format(MOUNT_COMMAND, backupRepoType, backupRepoAddress, mountDirectory); if ("cifs".equals(backupRepoType)) { - mountOptions += ",nobrl"; + if (Objects.isNull(mountOptions) || mountOptions.trim().isEmpty()) { + mountOptions = "nobrl"; + } else { + mountOptions += ",nobrl"; + } } - if (!mountOptions.trim().isEmpty()) { + if (Objects.nonNull(mountOptions) && !mountOptions.trim().isEmpty()) { mount += " -o " + mountOptions; } Script.runSimpleBashScript(mount);