From 06290d74af6d6f45c70d45693a19898f8961cc56 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Fri, 27 Sep 2024 17:40:23 +0200 Subject: [PATCH] Remove 0024-Revert-CA-379329-check-for-missing-iSCSI-sessions-an.patch (#63) Signed-off-by: Ronan Abhamon --- ...21cc248d79b749a63d4ad099e6d5f4b8b588.patch | 11 +- ...-sm.service-s-description-for-XCP-ng.patch | 7 +- .../0003-Add-TrueNAS-multipath-config.patch | 7 +- ...add-CephFS-GlusterFS-and-XFS-drivers.patch | 15 +- ...-ZFS-driver-to-avoid-losing-VDI-meta.patch | 13 +- ...driver-for-users-who-need-to-transit.patch | 11 +- ...07-feat-drivers-add-LinstorSR-driver.patch | 33 +- ...nit-tests-concerning-ZFS-close-xcp-n.patch | 9 +- ...no-NFS-ACLs-provided-assume-everyone.patch | 9 +- .../0010-Added-SM-Driver-for-MooseFS.patch | 13 +- ...mount-in-ISOSR-when-legacy_mode-is-u.patch | 9 +- ...SR-uses-now-UUID-subdirs-for-each-SR.patch | 7 +- ...Fix-is_open-call-for-many-drivers-25.patch | 11 +- ...HING-capability-for-many-SR-types-24.patch | 11 +- ...ve-SR_PROBE-from-ZFS-capabilities-37.patch | 7 +- ...ix-vdi-ref-when-static-vdis-are-used.patch | 7 +- ...-not-to-edit-multipath.conf-directly.patch | 7 +- ...om.conf-multipath-configuration-file.patch | 7 +- ...all-etc-multipath-conf.d-custom.conf.patch | 7 +- SOURCES/0020-Backport-NFS4-only-support.patch | 13 +- ...or-NFS4-when-rpcinfo-does-not-includ.patch | 9 +- ...Block-backport-of-largeblocksr-51-55.patch | 17 +- ...dd-a-way-to-modify-config-of-LVMs-56.patch | 11 +- ...alarm-must-be-reset-in-case-of-succ.patch} | 9 +- ...-check-for-missing-iSCSI-sessions-an.patch | 1039 ----------------- ...rns-the-result-of-user-function-now.patch} | 9 +- ...-pause-tag-from-VDIs-in-case-of-fai.patch} | 9 +- ...air-volumes-only-if-an-exclusive-co.patch} | 9 +- ...nstorSR-Improve-LINSTOR-performance.patch} | 17 +- ...bustify-scan-to-avoid-losing-VDIs-i.patch} | 9 +- ...splay-a-correctly-readable-size-for.patch} | 11 +- ...tord-scan-all-LINSTOR-SRs-every-12-.patch} | 9 +- ...l-correctly-method-in-_locked_load-.patch} | 9 +- ...SR-integrate-minidrbdcluster-daemon.patch} | 47 +- ...sure-heartbeat-and-redo_log-VDIs-ar.patch} | 11 +- ...otect-sr-commands-to-avoid-forgetti.patch} | 9 +- ...ler-ensure-uri-is-not-None-during-l.patch} | 9 +- ...d-an-option-to-disable-auto-quorum-.patch} | 11 +- ...Manager-add-a-workaround-to-create-.patch} | 9 +- ...instorSR-add-optional-ips-parameter.patch} | 11 +- ...d-a-helper-log_drbd_erofs-to-trace-.patch} | 15 +- ...-to-restart-the-services-again-if-t.patch} | 9 +- ...ustify-linstor-manager-to-never-inc.patch} | 9 +- ...vent-starting-controller-during-fai.patch} | 9 +- ...eManager-increase-peer-slots-limit-.patch} | 9 +- ...eManager-add-a-fallback-to-find-con.patch} | 11 +- ...or.mount-ensure-we-always-mount-dat.patch} | 19 +- ...eManager-add-a-fallback-to-find-nod.patch} | 9 +- ...plain-on-which-host-plugins-command.patch} | 9 +- ...ate-diskless-path-if-necessary-duri.patch} | 9 +- ...e-HTTP-NBD-instead-of-DRBD-directly.patch} | 23 +- ...d-controller-when-XAPI-unreachable-.patch} | 11 +- ...-IPs-instead-of-hostnames-in-NBD-se.patch} | 11 +- ...Manager-ensure-we-always-use-IPs-in.patch} | 9 +- ...ger-add-methods-to-add-remove-host-.patch} | 13 +- ...eManager-support-SR-creation-with-d.patch} | 9 +- ...d-a-config-var-to-disable-HTTP-NBD-.patch} | 9 +- ...sure-LVM-group-is-activated-during-.patch} | 11 +- ...ger-add-method-to-create-LinstorSR-.patch} | 9 +- ...ays-set-vdi_path-in-generate_config.patch} | 9 +- ...er-supports-new-properties-like-for.patch} | 9 +- ...bled-disable-minidrbcluster-with-fi.patch} | 9 +- ...er-change-linstor-satellite-start-b.patch} | 9 +- ...0063-Fix-is_open-call-for-LinstorSR.patch} | 13 +- ...il-fix-boolean-params-of-check-call.patch} | 11 +- ...or-manager-robustify-exec_create_sr.patch} | 9 +- ...-LINSTOR-VDI-UUID-if-error-during-i.patch} | 9 +- ...e-and-dump-DRBD-openers-in-case-of-.patch} | 13 +- ...il-trace-DRBD-openers-in-case-of-ER.patch} | 11 +- ...manager-compute-correctly-size-in-a.patch} | 9 +- ...e-DRBD-openers-instead-of-lsof-to-l.patch} | 13 +- ...pport-cProfile-to-trace-calls-when-.patch} | 11 +- ...ler-reset-namespace-when-get-is-cal.patch} | 9 +- ...l-fix-coalesce-with-VM-running-unde.patch} | 17 +- ...manager-_get_volumes_info-doesn-t-r.patch} | 9 +- ...manager-remove-double-prefix-on-kv-.patch} | 9 +- ...d-linstor-kv-dump-helper-to-print-k.patch} | 13 +- ...able-VHD-key-hash-usage-to-limit-ex.patch} | 9 +- ...er-ensure-SIGINT-is-handled-correct.patch} | 11 +- ...ter-stop-resource-services-at-start.patch} | 9 +- ...ger-add-new-healthCheck-function-to.patch} | 11 +- ...-xha-conf-parsing-return-host-ip-no.patch} | 9 +- ...rt-correctly-HA-servers-HTTP-NBD-af.patch} | 9 +- ...manager-use-an-array-to-store-diskf.patch} | 11 +- ...emanager-support-snaps-when-a-host-.patch} | 9 +- ...manager-support-offline-hosts-when-.patch} | 9 +- ...manager-define-_base_group_name-mem.patch} | 9 +- ...il-modify-logic-of-local-vhdutil-ca.patch} | 9 +- ...emanager-robustify-failed-snapshots.patch} | 9 +- ...manager-use-a-namespace-for-volumes.patch} | 9 +- ...ump-rename-to-linstor-kv-tool-add-r.patch} | 13 +- ...dle-correctly-localhost-during-star.patch} | 9 +- ...ll-repair-on-another-host-when-EROF.patch} | 9 +- ...oid-introduction-of-DELETED-volumes.patch} | 9 +- ...ool-remove-all-volumes-supports-jou.patch} | 9 +- ...l-due-to-bad-refactoring-check-call.patch} | 9 +- ...il-ensure-we-use-VHD-parent-to-find.patch} | 9 +- ...emanager-force-DRBD-demote-after-fa.patch} | 11 +- ...l-ensure-we-retry-creation-in-all-s.patch} | 9 +- ...l-don-t-retry-local-vhdutil-call-wh.patch} | 9 +- ...feat-fork-log-daemon-ignore-SIGTERM.patch} | 9 +- ...R-wait-for-http-disk-server-startup.patch} | 9 +- ...dle-inflate-resize-actions-correctl.patch} | 9 +- ...er-add-a-static-iptables-rule-for-D.patch} | 9 +- ...nc-with-last-http-nbd-transfer-vers.patch} | 11 +- ...-t-check-VDI-metadata-while-listing.patch} | 9 +- ...-t-check-metadata-when-destroying-s.patch} | 9 +- ...l-handle-correctly-generic-exceptio.patch} | 9 +- ...er-robustify-to-unmount-correctly-L.patch} | 15 +- ...er-handle-correctly-KeyboardInterru.patch} | 9 +- ...e-drbd-reactor-instead-of-minidrbdc.patch} | 31 +- ...ure-vhdutil-calls-are-correctly-exe.patch} | 13 +- ...place-bad-param-in-detach_thin-impl.patch} | 9 +- ...umemanager-remove-usage-of-realpath.patch} | 9 +- ...hdutil-avoid-parent-path-resolution.patch} | 15 +- ...SR-create-parent-path-during-attach.patch} | 9 +- ...etry-if-we-can-t-build-volume-cache.patch} | 9 +- ...manager-reduce-peer-slots-param-to-.patch} | 9 +- ...ach-a-valid-XAPI-session-is_open-is.patch} | 9 +- ...ure-we-always-have-a-DRBD-path-to-s.patch} | 9 +- ...ix-LinstorSR-remove-hosts-ips-param.patch} | 11 +- ...pute-correctly-SR-size-using-pool-c.patch} | 11 +- ...e-we-can-import-this-module-when-LI.patch} | 9 +- ...nsure-volume-cache-can-be-recreated.patch} | 9 +- ...er-remove-dead-useless-code-in-add-.patch} | 9 +- ...ure-we-always-have-a-device-path-du.patch} | 9 +- ...ays-use-lock.acquire-during-attach-.patch} | 9 +- ...e-sure-hostnames-are-unique-at-SR-c.patch} | 9 +- ...ure-we-can-attach-non-special-stati.patch} | 9 +- ...ure-we-can-detach-when-deflate-call.patch} | 9 +- ...ume-VDI-is-always-a-VHD-when-the-in.patch} | 9 +- ...ove-SR-lock-during-thin-attach-deta.patch} | 9 +- ...ure-database-is-mounted-during-scan.patch} | 11 +- ...tart-drbd-reactor-in-case-of-failur.patch} | 15 +- ...manager-retry-in-case-of-failure-du.patch} | 9 +- ...manager-avoid-diskless-creation-whe.patch} | 9 +- ...ove-diskless-after-VDI.detach-calls.patch} | 11 +- ...ustify-_load_vdi_info-in-cleanup.py.patch} | 9 +- ...ure-detach-never-fails-on-plugin-fa.patch} | 9 +- ...ure-we-coalesce-only-volumes-with-a.patch} | 13 +- ...-t-try-to-repair-persistent-volumes.patch} | 13 +- ...l-format-correctly-message-if-vhd-u.patch} | 9 +- ...ait-during-attach-to-open-DRBD-path.patch} | 9 +- ...port-different-volume-sizes-in-clea.patch} | 13 +- ...SR-remove-useless-IPS_XHA_CACHE-var.patch} | 9 +- ...ure-we-can-deflate-on-any-host-afte.patch} | 15 +- ...ure-we-always-use-real-DRBD-VHD-siz.patch} | 9 +- ...ool-If-no-controller-uri-option-is-.patch} | 9 +- ...lumemanager-robustify-SR-destroy-46.patch} | 9 +- ...ger-extend-API-with-createNodeInter.patch} | 11 +- ...support-VDI.resize-on-thick-volumes.patch} | 9 +- ...manager-format-correctly-exception-.patch} | 9 +- ...ure-we-can-skip-coalesces-if-device.patch} | 9 +- ...ger-add-methods-to-modify-destroy-l.patch} | 11 +- ...ce-a-defined-volume-prefix-if-we-ca.patch} | 9 +- ...licit-error-message-when-a-group-is.patch} | 9 +- ...e-sure-VDI.delete-doesn-t-throw-und.patch} | 11 +- ...-drbd-in-the-blacklist-of-multipath.patch} | 9 +- ...manager-create-cloned-volumes-on-ho.patch} | 9 +- ...manager-don-t-align-volumes-on-LVM-.patch} | 9 +- ...manager-assert-with-message-after-l.patch} | 9 +- ...manager-retry-resize-if-volume-is-n.patch} | 9 +- ...ate-DRBD-diskless-if-necessary-for-.patch} | 9 +- ...-bad-call-to-vhdutil.inflate-bad-ex.patch} | 9 +- ...ivate-VG-if-attach-from-config-is-a.patch} | 9 +- ...e-a-specific-resource-group-for-DB-.patch} | 11 +- ...ger-add-getNodePreferredInterface-h.patch} | 11 +- ...manager-blocks-deletion-of-default-.patch} | 9 +- ...emanager-change-logic-of-get_resour.patch} | 11 +- ...ger-add-error-codes-to-healthCheck-.patch} | 11 +- ...-bad-exception-reference-during-sna.patch} | 9 +- ...-ensure-LINSTOR-VHD-chain-is-availa.patch} | 13 +- ...l-retry-check-on-another-machine-in.patch} | 11 +- ...licit-errors-when-database-path-is-.patch} | 11 +- ...fix-LinstorSR-Misc-fixes-on-destroy.patch} | 13 +- ...n-non-leaf-volumes-in-RO-mode-creat.patch} | 11 +- ...rSR-ensure-_is_master-is-always-set.patch} | 9 +- ...-check-if-resource-is-tiebreaker-62.patch} | 9 +- SPECS/sm.spec | 343 +++--- 179 files changed, 844 insertions(+), 2413 deletions(-) rename SOURCES/{0025-Fix-timeout_call-alarm-must-be-reset-in-case-of-succ.patch => 0024-Fix-timeout_call-alarm-must-be-reset-in-case-of-succ.patch} (80%) delete mode 100644 SOURCES/0024-Revert-CA-379329-check-for-missing-iSCSI-sessions-an.patch rename SOURCES/{0026-timeout_call-returns-the-result-of-user-function-now.patch => 0025-timeout_call-returns-the-result-of-user-function-now.patch} (77%) rename SOURCES/{0027-Always-remove-the-pause-tag-from-VDIs-in-case-of-fai.patch => 0026-Always-remove-the-pause-tag-from-VDIs-in-case-of-fai.patch} (93%) rename SOURCES/{0028-fix-LinstorSR-repair-volumes-only-if-an-exclusive-co.patch => 0027-fix-LinstorSR-repair-volumes-only-if-an-exclusive-co.patch} (87%) rename SOURCES/{0029-feat-LinstorSR-Improve-LINSTOR-performance.patch => 0028-feat-LinstorSR-Improve-LINSTOR-performance.patch} (99%) rename SOURCES/{0030-feat-LinstorSR-robustify-scan-to-avoid-losing-VDIs-i.patch => 0029-feat-LinstorSR-robustify-scan-to-avoid-losing-VDIs-i.patch} (94%) rename SOURCES/{0031-feat-LinstorSR-display-a-correctly-readable-size-for.patch => 0030-feat-LinstorSR-display-a-correctly-readable-size-for.patch} (98%) rename SOURCES/{0032-feat-linstor-monitord-scan-all-LINSTOR-SRs-every-12-.patch => 0031-feat-linstor-monitord-scan-all-LINSTOR-SRs-every-12-.patch} (98%) rename SOURCES/{0033-fix-LinstorSR-call-correctly-method-in-_locked_load-.patch => 0032-fix-LinstorSR-call-correctly-method-in-_locked_load-.patch} (89%) rename SOURCES/{0034-feat-LinstorSR-integrate-minidrbdcluster-daemon.patch => 0033-feat-LinstorSR-integrate-minidrbdcluster-daemon.patch} (98%) rename SOURCES/{0035-feat-LinstorSR-ensure-heartbeat-and-redo_log-VDIs-ar.patch => 0034-feat-LinstorSR-ensure-heartbeat-and-redo_log-VDIs-ar.patch} (96%) rename SOURCES/{0036-feat-LinstorSR-protect-sr-commands-to-avoid-forgetti.patch => 0035-feat-LinstorSR-protect-sr-commands-to-avoid-forgetti.patch} (97%) rename SOURCES/{0037-fix-LinstorJournaler-ensure-uri-is-not-None-during-l.patch => 0036-fix-LinstorJournaler-ensure-uri-is-not-None-during-l.patch} (90%) rename SOURCES/{0038-feat-LinstorSR-add-an-option-to-disable-auto-quorum-.patch => 0037-feat-LinstorSR-add-an-option-to-disable-auto-quorum-.patch} (96%) rename SOURCES/{0039-fix-LinstorVolumeManager-add-a-workaround-to-create-.patch => 0038-fix-LinstorVolumeManager-add-a-workaround-to-create-.patch} (87%) rename SOURCES/{0040-feat-LinstorSR-add-optional-ips-parameter.patch => 0039-feat-LinstorSR-add-optional-ips-parameter.patch} (96%) rename SOURCES/{0041-feat-LinstorSR-add-a-helper-log_drbd_erofs-to-trace-.patch => 0040-feat-LinstorSR-add-a-helper-log_drbd_erofs-to-trace-.patch} (96%) rename SOURCES/{0042-fix-LinstorSR-try-to-restart-the-services-again-if-t.patch => 0041-fix-LinstorSR-try-to-restart-the-services-again-if-t.patch} (92%) rename SOURCES/{0043-fix-LinstorSR-robustify-linstor-manager-to-never-inc.patch => 0042-fix-LinstorSR-robustify-linstor-manager-to-never-inc.patch} (86%) rename SOURCES/{0044-fix-LinstorSR-prevent-starting-controller-during-fai.patch => 0043-fix-LinstorSR-prevent-starting-controller-during-fai.patch} (92%) rename SOURCES/{0045-feat-LinstorVolumeManager-increase-peer-slots-limit-.patch => 0044-feat-LinstorVolumeManager-increase-peer-slots-limit-.patch} (97%) rename SOURCES/{0046-feat-LinstorVolumeManager-add-a-fallback-to-find-con.patch => 0045-feat-LinstorVolumeManager-add-a-fallback-to-find-con.patch} (94%) rename SOURCES/{0047-fix-var-lib-linstor.mount-ensure-we-always-mount-dat.patch => 0046-fix-var-lib-linstor.mount-ensure-we-always-mount-dat.patch} (92%) rename SOURCES/{0048-feat-LinstorVolumeManager-add-a-fallback-to-find-nod.patch => 0047-feat-LinstorVolumeManager-add-a-fallback-to-find-nod.patch} (90%) rename SOURCES/{0049-feat-LinstorSR-explain-on-which-host-plugins-command.patch => 0048-feat-LinstorSR-explain-on-which-host-plugins-command.patch} (90%) rename SOURCES/{0050-fix-LinstorSR-create-diskless-path-if-necessary-duri.patch => 0049-fix-LinstorSR-create-diskless-path-if-necessary-duri.patch} (87%) rename SOURCES/{0051-feat-LinstorSR-use-HTTP-NBD-instead-of-DRBD-directly.patch => 0050-feat-LinstorSR-use-HTTP-NBD-instead-of-DRBD-directly.patch} (98%) rename SOURCES/{0052-fix-LinstorSR-find-controller-when-XAPI-unreachable-.patch => 0051-fix-LinstorSR-find-controller-when-XAPI-unreachable-.patch} (97%) rename SOURCES/{0053-fix-LinstorSR-use-IPs-instead-of-hostnames-in-NBD-se.patch => 0052-fix-LinstorSR-use-IPs-instead-of-hostnames-in-NBD-se.patch} (97%) rename SOURCES/{0054-fix-LinstorVolumeManager-ensure-we-always-use-IPs-in.patch => 0053-fix-LinstorVolumeManager-ensure-we-always-use-IPs-in.patch} (84%) rename SOURCES/{0055-feat-linstor-manager-add-methods-to-add-remove-host-.patch => 0054-feat-linstor-manager-add-methods-to-add-remove-host-.patch} (98%) rename SOURCES/{0056-feat-LinstorVolumeManager-support-SR-creation-with-d.patch => 0055-feat-LinstorVolumeManager-support-SR-creation-with-d.patch} (96%) rename SOURCES/{0057-feat-LinstorSR-add-a-config-var-to-disable-HTTP-NBD-.patch => 0056-feat-LinstorSR-add-a-config-var-to-disable-HTTP-NBD-.patch} (91%) rename SOURCES/{0058-feat-LinstorSr-ensure-LVM-group-is-activated-during-.patch => 0057-feat-LinstorSr-ensure-LVM-group-is-activated-during-.patch} (93%) rename SOURCES/{0059-feat-linstor-manager-add-method-to-create-LinstorSR-.patch => 0058-feat-linstor-manager-add-method-to-create-LinstorSR-.patch} (97%) rename SOURCES/{0060-fix-LinstorSR-always-set-vdi_path-in-generate_config.patch => 0059-fix-LinstorSR-always-set-vdi_path-in-generate_config.patch} (84%) rename SOURCES/{0061-fix-minidrbdcluster-supports-new-properties-like-for.patch => 0060-fix-minidrbdcluster-supports-new-properties-like-for.patch} (87%) rename SOURCES/{0062-fix-LinstorSR-enabled-disable-minidrbcluster-with-fi.patch => 0061-fix-LinstorSR-enabled-disable-minidrbcluster-with-fi.patch} (94%) rename SOURCES/{0063-fix-linstor-manager-change-linstor-satellite-start-b.patch => 0062-fix-linstor-manager-change-linstor-satellite-start-b.patch} (88%) rename SOURCES/{0064-Fix-is_open-call-for-LinstorSR.patch => 0063-Fix-is_open-call-for-LinstorSR.patch} (94%) rename SOURCES/{0065-fix-linstorvhdutil-fix-boolean-params-of-check-call.patch => 0064-fix-linstorvhdutil-fix-boolean-params-of-check-call.patch} (89%) rename SOURCES/{0066-feat-linstor-manager-robustify-exec_create_sr.patch => 0065-feat-linstor-manager-robustify-exec_create_sr.patch} (97%) rename SOURCES/{0067-fix-cleanup-print-LINSTOR-VDI-UUID-if-error-during-i.patch => 0066-fix-cleanup-print-LINSTOR-VDI-UUID-if-error-during-i.patch} (80%) rename SOURCES/{0068-feat-cleanup-raise-and-dump-DRBD-openers-in-case-of-.patch => 0067-feat-cleanup-raise-and-dump-DRBD-openers-in-case-of-.patch} (95%) rename SOURCES/{0069-feat-linstorvhdutil-trace-DRBD-openers-in-case-of-ER.patch => 0068-feat-linstorvhdutil-trace-DRBD-openers-in-case-of-ER.patch} (96%) rename SOURCES/{0070-fix-linstorvolumemanager-compute-correctly-size-in-a.patch => 0069-fix-linstorvolumemanager-compute-correctly-size-in-a.patch} (95%) rename SOURCES/{0071-feat-LinstorSR-use-DRBD-openers-instead-of-lsof-to-l.patch => 0070-feat-LinstorSR-use-DRBD-openers-instead-of-lsof-to-l.patch} (98%) rename SOURCES/{0072-feat-LinstorSR-support-cProfile-to-trace-calls-when-.patch => 0071-feat-LinstorSR-support-cProfile-to-trace-calls-when-.patch} (92%) rename SOURCES/{0073-fix-LinstorJournaler-reset-namespace-when-get-is-cal.patch => 0072-fix-LinstorJournaler-reset-namespace-when-get-is-cal.patch} (79%) rename SOURCES/{0074-fix-linstorvhdutil-fix-coalesce-with-VM-running-unde.patch => 0073-fix-linstorvhdutil-fix-coalesce-with-VM-running-unde.patch} (98%) rename SOURCES/{0075-fix-linstorvolumemanager-_get_volumes_info-doesn-t-r.patch => 0074-fix-linstorvolumemanager-_get_volumes_info-doesn-t-r.patch} (91%) rename SOURCES/{0076-fix-linstorvolumemanager-remove-double-prefix-on-kv-.patch => 0075-fix-linstorvolumemanager-remove-double-prefix-on-kv-.patch} (87%) rename SOURCES/{0077-feat-LinstorSR-add-linstor-kv-dump-helper-to-print-k.patch => 0076-feat-LinstorSR-add-linstor-kv-dump-helper-to-print-k.patch} (90%) rename SOURCES/{0078-fix-LinstorSR-disable-VHD-key-hash-usage-to-limit-ex.patch => 0077-fix-LinstorSR-disable-VHD-key-hash-usage-to-limit-ex.patch} (87%) rename SOURCES/{0079-fix-minidrbdcluster-ensure-SIGINT-is-handled-correct.patch => 0078-fix-minidrbdcluster-ensure-SIGINT-is-handled-correct.patch} (93%) rename SOURCES/{0080-feat-minidrbdcluster-stop-resource-services-at-start.patch => 0079-feat-minidrbdcluster-stop-resource-services-at-start.patch} (96%) rename SOURCES/{0081-feat-linstor-manager-add-new-healthCheck-function-to.patch => 0080-feat-linstor-manager-add-new-healthCheck-function-to.patch} (98%) rename SOURCES/{0082-fix-LinstorSR-fix-xha-conf-parsing-return-host-ip-no.patch => 0081-fix-LinstorSR-fix-xha-conf-parsing-return-host-ip-no.patch} (89%) rename SOURCES/{0083-fix-LinstorSR-start-correctly-HA-servers-HTTP-NBD-af.patch => 0082-fix-LinstorSR-start-correctly-HA-servers-HTTP-NBD-af.patch} (90%) rename SOURCES/{0084-fix-linstorvolumemanager-use-an-array-to-store-diskf.patch => 0083-fix-linstorvolumemanager-use-an-array-to-store-diskf.patch} (93%) rename SOURCES/{0085-feat-linstorvolumemanager-support-snaps-when-a-host-.patch => 0084-feat-linstorvolumemanager-support-snaps-when-a-host-.patch} (84%) rename SOURCES/{0086-fix-linstorvolumemanager-support-offline-hosts-when-.patch => 0085-fix-linstorvolumemanager-support-offline-hosts-when-.patch} (96%) rename SOURCES/{0087-fix-linstorvolumemanager-define-_base_group_name-mem.patch => 0086-fix-linstorvolumemanager-define-_base_group_name-mem.patch} (86%) rename SOURCES/{0088-feat-linstorvhdutil-modify-logic-of-local-vhdutil-ca.patch => 0087-feat-linstorvhdutil-modify-logic-of-local-vhdutil-ca.patch} (97%) rename SOURCES/{0089-fix-linstorvolumemanager-robustify-failed-snapshots.patch => 0088-fix-linstorvolumemanager-robustify-failed-snapshots.patch} (92%) rename SOURCES/{0090-fix-linstorvolumemanager-use-a-namespace-for-volumes.patch => 0089-fix-linstorvolumemanager-use-a-namespace-for-volumes.patch} (81%) rename SOURCES/{0091-feat-linstor-kv-dump-rename-to-linstor-kv-tool-add-r.patch => 0090-feat-linstor-kv-dump-rename-to-linstor-kv-tool-add-r.patch} (92%) rename SOURCES/{0092-fix-LinstorSR-handle-correctly-localhost-during-star.patch => 0091-fix-LinstorSR-handle-correctly-localhost-during-star.patch} (94%) rename SOURCES/{0093-fix-cleanup.py-call-repair-on-another-host-when-EROF.patch => 0092-fix-cleanup.py-call-repair-on-another-host-when-EROF.patch} (92%) rename SOURCES/{0094-fix-LinstorSR-avoid-introduction-of-DELETED-volumes.patch => 0093-fix-LinstorSR-avoid-introduction-of-DELETED-volumes.patch} (79%) rename SOURCES/{0095-feat-linstor-kv-tool-remove-all-volumes-supports-jou.patch => 0094-feat-linstor-kv-tool-remove-all-volumes-supports-jou.patch} (82%) rename SOURCES/{0096-fix-linstorvhdutil-due-to-bad-refactoring-check-call.patch => 0095-fix-linstorvhdutil-due-to-bad-refactoring-check-call.patch} (85%) rename SOURCES/{0097-feat-linstorvhdutil-ensure-we-use-VHD-parent-to-find.patch => 0096-feat-linstorvhdutil-ensure-we-use-VHD-parent-to-find.patch} (94%) rename SOURCES/{0098-feat-linstorvolumemanager-force-DRBD-demote-after-fa.patch => 0097-feat-linstorvolumemanager-force-DRBD-demote-after-fa.patch} (97%) rename SOURCES/{0099-fix-linstorvhdutil-ensure-we-retry-creation-in-all-s.patch => 0098-fix-linstorvhdutil-ensure-we-retry-creation-in-all-s.patch} (96%) rename SOURCES/{0100-fix-linstorvhdutil-don-t-retry-local-vhdutil-call-wh.patch => 0099-fix-linstorvhdutil-don-t-retry-local-vhdutil-call-wh.patch} (97%) rename SOURCES/{0101-feat-fork-log-daemon-ignore-SIGTERM.patch => 0100-feat-fork-log-daemon-ignore-SIGTERM.patch} (82%) rename SOURCES/{0102-feat-LinstorSR-wait-for-http-disk-server-startup.patch => 0101-feat-LinstorSR-wait-for-http-disk-server-startup.patch} (96%) rename SOURCES/{0103-fix-LinstorSR-handle-inflate-resize-actions-correctl.patch => 0102-fix-LinstorSR-handle-inflate-resize-actions-correctl.patch} (96%) rename SOURCES/{0104-fix-linstor-manager-add-a-static-iptables-rule-for-D.patch => 0103-fix-linstor-manager-add-a-static-iptables-rule-for-D.patch} (96%) rename SOURCES/{0105-feat-LinstorSR-sync-with-last-http-nbd-transfer-vers.patch => 0104-feat-LinstorSR-sync-with-last-http-nbd-transfer-vers.patch} (96%) rename SOURCES/{0106-fix-LinstorSR-don-t-check-VDI-metadata-while-listing.patch => 0105-fix-LinstorSR-don-t-check-VDI-metadata-while-listing.patch} (86%) rename SOURCES/{0107-fix-LinstorSR-don-t-check-metadata-when-destroying-s.patch => 0106-fix-LinstorSR-don-t-check-metadata-when-destroying-s.patch} (86%) rename SOURCES/{0108-fix-linstorvhdutil-handle-correctly-generic-exceptio.patch => 0107-fix-linstorvhdutil-handle-correctly-generic-exceptio.patch} (93%) rename SOURCES/{0109-fix-minidrbdcluster-robustify-to-unmount-correctly-L.patch => 0108-fix-minidrbdcluster-robustify-to-unmount-correctly-L.patch} (91%) rename SOURCES/{0110-fix-minidrbdcluster-handle-correctly-KeyboardInterru.patch => 0109-fix-minidrbdcluster-handle-correctly-KeyboardInterru.patch} (89%) rename SOURCES/{0111-feat-LinstorSR-use-drbd-reactor-instead-of-minidrbdc.patch => 0110-feat-LinstorSR-use-drbd-reactor-instead-of-minidrbdc.patch} (97%) rename SOURCES/{0112-fix-LinstorSR-ensure-vhdutil-calls-are-correctly-exe.patch => 0111-fix-LinstorSR-ensure-vhdutil-calls-are-correctly-exe.patch} (95%) rename SOURCES/{0113-fix-LinstorSR-replace-bad-param-in-detach_thin-impl.patch => 0112-fix-LinstorSR-replace-bad-param-in-detach_thin-impl.patch} (85%) rename SOURCES/{0114-fix-linstorvolumemanager-remove-usage-of-realpath.patch => 0113-fix-linstorvolumemanager-remove-usage-of-realpath.patch} (92%) rename SOURCES/{0115-fix-linstorvhdutil-avoid-parent-path-resolution.patch => 0114-fix-linstorvhdutil-avoid-parent-path-resolution.patch} (94%) rename SOURCES/{0116-fix-LinstorSR-create-parent-path-during-attach.patch => 0115-fix-LinstorSR-create-parent-path-during-attach.patch} (88%) rename SOURCES/{0117-fix-LinstorSR-retry-if-we-can-t-build-volume-cache.patch => 0116-fix-LinstorSR-retry-if-we-can-t-build-volume-cache.patch} (85%) rename SOURCES/{0118-fix-linstorvolumemanager-reduce-peer-slots-param-to-.patch => 0117-fix-linstorvolumemanager-reduce-peer-slots-param-to-.patch} (92%) rename SOURCES/{0119-fix-LinstorSR-attach-a-valid-XAPI-session-is_open-is.patch => 0118-fix-LinstorSR-attach-a-valid-XAPI-session-is_open-is.patch} (83%) rename SOURCES/{0120-fix-LinstorSR-ensure-we-always-have-a-DRBD-path-to-s.patch => 0119-fix-LinstorSR-ensure-we-always-have-a-DRBD-path-to-s.patch} (81%) rename SOURCES/{0121-fix-LinstorSR-remove-hosts-ips-param.patch => 0120-fix-LinstorSR-remove-hosts-ips-param.patch} (96%) rename SOURCES/{0122-fix-LinstorSR-compute-correctly-SR-size-using-pool-c.patch => 0121-fix-LinstorSR-compute-correctly-SR-size-using-pool-c.patch} (94%) rename SOURCES/{0123-fix-blktap2-ensure-we-can-import-this-module-when-LI.patch => 0122-fix-blktap2-ensure-we-can-import-this-module-when-LI.patch} (89%) rename SOURCES/{0124-fix-LinstorSR-ensure-volume-cache-can-be-recreated.patch => 0123-fix-LinstorSR-ensure-volume-cache-can-be-recreated.patch} (96%) rename SOURCES/{0125-fix-linstor-manager-remove-dead-useless-code-in-add-.patch => 0124-fix-linstor-manager-remove-dead-useless-code-in-add-.patch} (97%) rename SOURCES/{0126-fix-LinstorSR-Ensure-we-always-have-a-device-path-du.patch => 0125-fix-LinstorSR-Ensure-we-always-have-a-device-path-du.patch} (91%) rename SOURCES/{0127-fix-LinstorSR-always-use-lock.acquire-during-attach-.patch => 0126-fix-LinstorSR-always-use-lock.acquire-during-attach-.patch} (91%) rename SOURCES/{0128-fix-LinstorSR-mare-sure-hostnames-are-unique-at-SR-c.patch => 0127-fix-LinstorSR-mare-sure-hostnames-are-unique-at-SR-c.patch} (83%) rename SOURCES/{0129-fix-LinstorSR-ensure-we-can-attach-non-special-stati.patch => 0128-fix-LinstorSR-ensure-we-can-attach-non-special-stati.patch} (83%) rename SOURCES/{0130-fix-LinstorSR-ensure-we-can-detach-when-deflate-call.patch => 0129-fix-LinstorSR-ensure-we-can-detach-when-deflate-call.patch} (95%) rename SOURCES/{0131-fix-LinstorSR-assume-VDI-is-always-a-VHD-when-the-in.patch => 0130-fix-LinstorSR-assume-VDI-is-always-a-VHD-when-the-in.patch} (87%) rename SOURCES/{0132-fix-LinstorSR-remove-SR-lock-during-thin-attach-deta.patch => 0131-fix-LinstorSR-remove-SR-lock-during-thin-attach-deta.patch} (97%) rename SOURCES/{0133-fix-LinstorSR-ensure-database-is-mounted-during-scan.patch => 0132-fix-LinstorSR-ensure-database-is-mounted-during-scan.patch} (92%) rename SOURCES/{0134-fix-LinstorSR-restart-drbd-reactor-in-case-of-failur.patch => 0133-fix-LinstorSR-restart-drbd-reactor-in-case-of-failur.patch} (86%) rename SOURCES/{0135-fix-linstorvolumemanager-retry-in-case-of-failure-du.patch => 0134-fix-linstorvolumemanager-retry-in-case-of-failure-du.patch} (85%) rename SOURCES/{0136-fix-linstorvolumemanager-avoid-diskless-creation-whe.patch => 0135-fix-linstorvolumemanager-avoid-diskless-creation-whe.patch} (97%) rename SOURCES/{0137-fix-LinstorSR-remove-diskless-after-VDI.detach-calls.patch => 0136-fix-LinstorSR-remove-diskless-after-VDI.detach-calls.patch} (94%) rename SOURCES/{0138-fix-LinstorSR-robustify-_load_vdi_info-in-cleanup.py.patch => 0137-fix-LinstorSR-robustify-_load_vdi_info-in-cleanup.py.patch} (96%) rename SOURCES/{0139-fix-LinstorSR-ensure-detach-never-fails-on-plugin-fa.patch => 0138-fix-LinstorSR-ensure-detach-never-fails-on-plugin-fa.patch} (83%) rename SOURCES/{0140-fix-LinstorSR-ensure-we-coalesce-only-volumes-with-a.patch => 0139-fix-LinstorSR-ensure-we-coalesce-only-volumes-with-a.patch} (95%) rename SOURCES/{0141-fix-LinstorSR-don-t-try-to-repair-persistent-volumes.patch => 0140-fix-LinstorSR-don-t-try-to-repair-persistent-volumes.patch} (97%) rename SOURCES/{0142-fix-linstorvhdutil-format-correctly-message-if-vhd-u.patch => 0141-fix-linstorvhdutil-format-correctly-message-if-vhd-u.patch} (84%) rename SOURCES/{0143-fix-LinstorSR-wait-during-attach-to-open-DRBD-path.patch => 0142-fix-LinstorSR-wait-during-attach-to-open-DRBD-path.patch} (90%) rename SOURCES/{0144-fix-LinstorSR-support-different-volume-sizes-in-clea.patch => 0143-fix-LinstorSR-support-different-volume-sizes-in-clea.patch} (98%) rename SOURCES/{0145-fix-LinstorSR-remove-useless-IPS_XHA_CACHE-var.patch => 0144-fix-LinstorSR-remove-useless-IPS_XHA_CACHE-var.patch} (79%) rename SOURCES/{0146-fix-LinstorSR-ensure-we-can-deflate-on-any-host-afte.patch => 0145-fix-LinstorSR-ensure-we-can-deflate-on-any-host-afte.patch} (98%) rename SOURCES/{0147-fix-LinstorSR-ensure-we-always-use-real-DRBD-VHD-siz.patch => 0146-fix-LinstorSR-ensure-we-always-use-real-DRBD-VHD-siz.patch} (97%) rename SOURCES/{0148-feat-linstor-kv-tool-If-no-controller-uri-option-is-.patch => 0147-feat-linstor-kv-tool-If-no-controller-uri-option-is-.patch} (91%) rename SOURCES/{0149-fix-linstorvolumemanager-robustify-SR-destroy-46.patch => 0148-fix-linstorvolumemanager-robustify-SR-destroy-46.patch} (97%) rename SOURCES/{0150-feat-linstor-manager-extend-API-with-createNodeInter.patch => 0149-feat-linstor-manager-extend-API-with-createNodeInter.patch} (94%) rename SOURCES/{0151-fix-LinstorSR-support-VDI.resize-on-thick-volumes.patch => 0150-fix-LinstorSR-support-VDI.resize-on-thick-volumes.patch} (84%) rename SOURCES/{0152-fix-linstorvolumemanager-format-correctly-exception-.patch => 0151-fix-linstorvolumemanager-format-correctly-exception-.patch} (85%) rename SOURCES/{0153-fix-LinstorSR-ensure-we-can-skip-coalesces-if-device.patch => 0152-fix-LinstorSR-ensure-we-can-skip-coalesces-if-device.patch} (83%) rename SOURCES/{0154-feat-linstor-manager-add-methods-to-modify-destroy-l.patch => 0153-feat-linstor-manager-add-methods-to-modify-destroy-l.patch} (97%) rename SOURCES/{0155-fix-LinstorSR-force-a-defined-volume-prefix-if-we-ca.patch => 0154-fix-LinstorSR-force-a-defined-volume-prefix-if-we-ca.patch} (75%) rename SOURCES/{0156-fix-LinstorSR-explicit-error-message-when-a-group-is.patch => 0155-fix-LinstorSR-explicit-error-message-when-a-group-is.patch} (83%) rename SOURCES/{0157-fix-LinstorSR-make-sure-VDI.delete-doesn-t-throw-und.patch => 0156-fix-LinstorSR-make-sure-VDI.delete-doesn-t-throw-und.patch} (92%) rename SOURCES/{0158-fix-LinstorSR-add-drbd-in-the-blacklist-of-multipath.patch => 0157-fix-LinstorSR-add-drbd-in-the-blacklist-of-multipath.patch} (85%) rename SOURCES/{0159-fix-linstorvolumemanager-create-cloned-volumes-on-ho.patch => 0158-fix-linstorvolumemanager-create-cloned-volumes-on-ho.patch} (96%) rename SOURCES/{0160-fix-linstorvolumemanager-don-t-align-volumes-on-LVM-.patch => 0159-fix-linstorvolumemanager-don-t-align-volumes-on-LVM-.patch} (83%) rename SOURCES/{0161-fix-linstorvolumemanager-assert-with-message-after-l.patch => 0160-fix-linstorvolumemanager-assert-with-message-after-l.patch} (84%) rename SOURCES/{0162-fix-linstorvolumemanager-retry-resize-if-volume-is-n.patch => 0161-fix-linstorvolumemanager-retry-resize-if-volume-is-n.patch} (92%) rename SOURCES/{0163-fix-LinstorSR-create-DRBD-diskless-if-necessary-for-.patch => 0162-fix-LinstorSR-create-DRBD-diskless-if-necessary-for-.patch} (95%) rename SOURCES/{0164-fix-LinstorSR-fix-bad-call-to-vhdutil.inflate-bad-ex.patch => 0163-fix-LinstorSR-fix-bad-call-to-vhdutil.inflate-bad-ex.patch} (87%) rename SOURCES/{0165-fix-LinstorSR-activate-VG-if-attach-from-config-is-a.patch => 0164-fix-LinstorSR-activate-VG-if-attach-from-config-is-a.patch} (80%) rename SOURCES/{0166-feat-LinstorSR-use-a-specific-resource-group-for-DB-.patch => 0165-feat-LinstorSR-use-a-specific-resource-group-for-DB-.patch} (99%) rename SOURCES/{0167-feat-linstor-manager-add-getNodePreferredInterface-h.patch => 0166-feat-linstor-manager-add-getNodePreferredInterface-h.patch} (92%) rename SOURCES/{0168-fix-linstorvolumemanager-blocks-deletion-of-default-.patch => 0167-fix-linstorvolumemanager-blocks-deletion-of-default-.patch} (84%) rename SOURCES/{0169-feat-linstorvolumemanager-change-logic-of-get_resour.patch => 0168-feat-linstorvolumemanager-change-logic-of-get_resour.patch} (95%) rename SOURCES/{0170-feat-linstor-manager-add-error-codes-to-healthCheck-.patch => 0169-feat-linstor-manager-add-error-codes-to-healthCheck-.patch} (98%) rename SOURCES/{0171-fix-LinstorSR-fix-bad-exception-reference-during-sna.patch => 0170-fix-LinstorSR-fix-bad-exception-reference-during-sna.patch} (87%) rename SOURCES/{0172-fix-tapdisk-pause-ensure-LINSTOR-VHD-chain-is-availa.patch => 0171-fix-tapdisk-pause-ensure-LINSTOR-VHD-chain-is-availa.patch} (96%) rename SOURCES/{0173-fix-linstorvhdutil-retry-check-on-another-machine-in.patch => 0172-fix-linstorvhdutil-retry-check-on-another-machine-in.patch} (92%) rename SOURCES/{0174-fix-LinstorSR-explicit-errors-when-database-path-is-.patch => 0173-fix-LinstorSR-explicit-errors-when-database-path-is-.patch} (88%) rename SOURCES/{0175-fix-LinstorSR-Misc-fixes-on-destroy.patch => 0174-fix-LinstorSR-Misc-fixes-on-destroy.patch} (96%) rename SOURCES/{0176-fix-LinstorSR-open-non-leaf-volumes-in-RO-mode-creat.patch => 0175-fix-LinstorSR-open-non-leaf-volumes-in-RO-mode-creat.patch} (94%) rename SOURCES/{0177-fix-LinstorSR-ensure-_is_master-is-always-set.patch => 0176-fix-LinstorSR-ensure-_is_master-is-always-set.patch} (97%) rename SOURCES/{0178-fix-linstor-check-if-resource-is-tiebreaker-62.patch => 0177-fix-linstor-check-if-resource-is-tiebreaker-62.patch} (86%) diff --git a/SOURCES/0001-backport-of-ccd121cc248d79b749a63d4ad099e6d5f4b8b588.patch b/SOURCES/0001-backport-of-ccd121cc248d79b749a63d4ad099e6d5f4b8b588.patch index 224c9f4d..e7b9902e 100644 --- a/SOURCES/0001-backport-of-ccd121cc248d79b749a63d4ad099e6d5f4b8b588.patch +++ b/SOURCES/0001-backport-of-ccd121cc248d79b749a63d4ad099e6d5f4b8b588.patch @@ -1,7 +1,7 @@ From a365619c2835e593259dad3c26761575f64066d6 Mon Sep 17 00:00:00 2001 From: Mark Syms Date: Thu, 20 May 2021 17:40:06 +0100 -Subject: [PATCH 001/178] backport of ccd121cc248d79b749a63d4ad099e6d5f4b8b588: +Subject: [PATCH 001/177] backport of ccd121cc248d79b749a63d4ad099e6d5f4b8b588: CA-354692: check for device parameter in create/probe calls Signed-off-by: Mark Syms @@ -13,7 +13,7 @@ Signed-off-by: Ronan Abhamon 3 files changed, 15 insertions(+), 1 deletion(-) diff --git a/drivers/EXTSR.py b/drivers/EXTSR.py -index 4caa09d..da43082 100755 +index 4caa09df..da43082e 100755 --- a/drivers/EXTSR.py +++ b/drivers/EXTSR.py @@ -18,6 +18,7 @@ @@ -38,7 +38,7 @@ index 4caa09d..da43082 100755 if self._checkmount(): raise xs_errors.XenError('SRExists') diff --git a/drivers/LVHDSR.py b/drivers/LVHDSR.py -index cfee071..dd8e20b 100755 +index cfee0717..dd8e20b9 100755 --- a/drivers/LVHDSR.py +++ b/drivers/LVHDSR.py @@ -19,6 +19,7 @@ @@ -67,7 +67,7 @@ index cfee071..dd8e20b 100755 return lvutil.srlist_toxml( lvutil.scan_srlist(lvhdutil.VG_PREFIX, self.dconf['device']), diff --git a/drivers/SR.py b/drivers/SR.py -index aa5a6b1..c752863 100755 +index aa5a6b1e..c7528638 100755 --- a/drivers/SR.py +++ b/drivers/SR.py @@ -49,6 +49,15 @@ class SROSError(SRException): @@ -86,6 +86,3 @@ index aa5a6b1..c752863 100755 backends = [] def registerSR(SRClass): """Register SR with handler. All SR subclasses should call this in --- -2.46.0 - diff --git a/SOURCES/0002-Update-xs-sm.service-s-description-for-XCP-ng.patch b/SOURCES/0002-Update-xs-sm.service-s-description-for-XCP-ng.patch index 49a6d8ab..c6e7e10d 100644 --- a/SOURCES/0002-Update-xs-sm.service-s-description-for-XCP-ng.patch +++ b/SOURCES/0002-Update-xs-sm.service-s-description-for-XCP-ng.patch @@ -1,7 +1,7 @@ From 283242d159438c4b301e153a95adde5dfaea3b58 Mon Sep 17 00:00:00 2001 From: Samuel Verschelde Date: Thu, 13 Aug 2020 15:22:17 +0200 -Subject: [PATCH 002/178] Update xs-sm.service's description for XCP-ng +Subject: [PATCH 002/177] Update xs-sm.service's description for XCP-ng This was a patch added to the sm RPM git repo before we had this forked git repo for sm in the xcp-ng github organisation. @@ -10,7 +10,7 @@ forked git repo for sm in the xcp-ng github organisation. 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/systemd/xs-sm.service b/systemd/xs-sm.service -index 99cb313..609c6ef 100644 +index 99cb313f..609c6ef5 100644 --- a/systemd/xs-sm.service +++ b/systemd/xs-sm.service @@ -1,5 +1,5 @@ @@ -20,6 +20,3 @@ index 99cb313..609c6ef 100644 Before=xapi.service Conflicts=shutdown.target RefuseManualStop=yes --- -2.46.0 - diff --git a/SOURCES/0003-Add-TrueNAS-multipath-config.patch b/SOURCES/0003-Add-TrueNAS-multipath-config.patch index 8490f577..b26c4a3b 100644 --- a/SOURCES/0003-Add-TrueNAS-multipath-config.patch +++ b/SOURCES/0003-Add-TrueNAS-multipath-config.patch @@ -1,7 +1,7 @@ From d6528d899b762ec5d7ceec1fb9c8b13c2c7e6f73 Mon Sep 17 00:00:00 2001 From: Samuel Verschelde Date: Thu, 13 Aug 2020 15:26:43 +0200 -Subject: [PATCH 003/178] Add TrueNAS multipath config +Subject: [PATCH 003/177] Add TrueNAS multipath config This was a patch added to the sm RPM git repo before we had this forked git repo for sm in the xcp-ng github organisation. @@ -10,7 +10,7 @@ forked git repo for sm in the xcp-ng github organisation. 1 file changed, 7 insertions(+) diff --git a/multipath/multipath.conf b/multipath/multipath.conf -index 9f3dfa7..f63506d 100644 +index 9f3dfa72..f63506d8 100644 --- a/multipath/multipath.conf +++ b/multipath/multipath.conf @@ -116,4 +116,11 @@ devices { @@ -25,6 +25,3 @@ index 9f3dfa7..f63506d 100644 + prio alua + } } --- -2.46.0 - diff --git a/SOURCES/0004-feat-drivers-add-CephFS-GlusterFS-and-XFS-drivers.patch b/SOURCES/0004-feat-drivers-add-CephFS-GlusterFS-and-XFS-drivers.patch index f69f8c9b..660cfd71 100644 --- a/SOURCES/0004-feat-drivers-add-CephFS-GlusterFS-and-XFS-drivers.patch +++ b/SOURCES/0004-feat-drivers-add-CephFS-GlusterFS-and-XFS-drivers.patch @@ -1,7 +1,7 @@ From 13542e244eea28a4c60708de99a50fa8c3d4ec5a Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Mon, 20 Jul 2020 16:26:42 +0200 -Subject: [PATCH 004/178] feat(drivers): add CephFS, GlusterFS and XFS drivers +Subject: [PATCH 004/177] feat(drivers): add CephFS, GlusterFS and XFS drivers --- Makefile | 3 + @@ -15,7 +15,7 @@ Subject: [PATCH 004/178] feat(drivers): add CephFS, GlusterFS and XFS drivers create mode 100644 drivers/XFSSR.py diff --git a/Makefile b/Makefile -index d07a8ca..0a10470 100755 +index d07a8ca3..0a10470a 100755 --- a/Makefile +++ b/Makefile @@ -17,6 +17,9 @@ SM_DRIVERS += OCFSoHBA @@ -30,7 +30,7 @@ index d07a8ca..0a10470 100755 SM_LIBS += SRCommand diff --git a/drivers/CephFSSR.py b/drivers/CephFSSR.py new file mode 100644 -index 0000000..d797490 +index 00000000..d7974907 --- /dev/null +++ b/drivers/CephFSSR.py @@ -0,0 +1,296 @@ @@ -332,7 +332,7 @@ index 0000000..d797490 + SR.registerSR(CephFSSR) diff --git a/drivers/GlusterFSSR.py b/drivers/GlusterFSSR.py new file mode 100644 -index 0000000..a2f7484 +index 00000000..a2f7484f --- /dev/null +++ b/drivers/GlusterFSSR.py @@ -0,0 +1,287 @@ @@ -625,7 +625,7 @@ index 0000000..a2f7484 + SR.registerSR(GlusterFSSR) diff --git a/drivers/XFSSR.py b/drivers/XFSSR.py new file mode 100644 -index 0000000..de35d73 +index 00000000..de35d738 --- /dev/null +++ b/drivers/XFSSR.py @@ -0,0 +1,242 @@ @@ -872,7 +872,7 @@ index 0000000..de35d73 +else: + SR.registerSR(XFSSR) diff --git a/drivers/cleanup.py b/drivers/cleanup.py -index dce460e..aff51ae 100755 +index dce460ea..aff51aed 100755 --- a/drivers/cleanup.py +++ b/drivers/cleanup.py @@ -2765,7 +2765,10 @@ def normalizeType(type): @@ -887,6 +887,3 @@ index dce460e..aff51ae 100755 type = SR.TYPE_FILE if not type in SR.TYPES: raise util.SMException("Unsupported SR type: %s" % type) --- -2.46.0 - diff --git a/SOURCES/0005-feat-drivers-add-ZFS-driver-to-avoid-losing-VDI-meta.patch b/SOURCES/0005-feat-drivers-add-ZFS-driver-to-avoid-losing-VDI-meta.patch index da98c5ed..737224b4 100644 --- a/SOURCES/0005-feat-drivers-add-ZFS-driver-to-avoid-losing-VDI-meta.patch +++ b/SOURCES/0005-feat-drivers-add-ZFS-driver-to-avoid-losing-VDI-meta.patch @@ -1,7 +1,7 @@ From 4525a55b84eb46f4c67797da6eaf61a329dac9d7 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Wed, 12 Aug 2020 11:14:33 +0200 -Subject: [PATCH 005/178] feat(drivers): add ZFS driver to avoid losing VDI +Subject: [PATCH 005/177] feat(drivers): add ZFS driver to avoid losing VDI metadata (xcp-ng/xcp#401) --- @@ -13,7 +13,7 @@ Subject: [PATCH 005/178] feat(drivers): add ZFS driver to avoid losing VDI create mode 100644 drivers/ZFSSR.py diff --git a/Makefile b/Makefile -index 0a10470..f93b7be 100755 +index 0a10470a..f93b7be5 100755 --- a/Makefile +++ b/Makefile @@ -20,6 +20,7 @@ SM_DRIVERS += LVHDoFCoE @@ -25,7 +25,7 @@ index 0a10470..f93b7be 100755 SM_LIBS := SR SM_LIBS += SRCommand diff --git a/drivers/XE_SR_ERRORCODES.xml b/drivers/XE_SR_ERRORCODES.xml -index 7ab7bc1..535c9dc 100755 +index 7ab7bc1c..535c9dc3 100755 --- a/drivers/XE_SR_ERRORCODES.xml +++ b/drivers/XE_SR_ERRORCODES.xml @@ -900,5 +900,15 @@ @@ -46,7 +46,7 @@ index 7ab7bc1..535c9dc 100755 diff --git a/drivers/ZFSSR.py b/drivers/ZFSSR.py new file mode 100644 -index 0000000..1b2f398 +index 00000000..1b2f398f --- /dev/null +++ b/drivers/ZFSSR.py @@ -0,0 +1,137 @@ @@ -188,7 +188,7 @@ index 0000000..1b2f398 +else: + SR.registerSR(ZFSSR) diff --git a/drivers/cleanup.py b/drivers/cleanup.py -index aff51ae..feb7c18 100755 +index aff51aed..feb7c187 100755 --- a/drivers/cleanup.py +++ b/drivers/cleanup.py @@ -2767,7 +2767,7 @@ def normalizeType(type): @@ -200,6 +200,3 @@ index aff51ae..feb7c18 100755 ]: type = SR.TYPE_FILE if not type in SR.TYPES: --- -2.46.0 - diff --git a/SOURCES/0006-Re-add-the-ext4-driver-for-users-who-need-to-transit.patch b/SOURCES/0006-Re-add-the-ext4-driver-for-users-who-need-to-transit.patch index bc193fb8..e6b8d94b 100644 --- a/SOURCES/0006-Re-add-the-ext4-driver-for-users-who-need-to-transit.patch +++ b/SOURCES/0006-Re-add-the-ext4-driver-for-users-who-need-to-transit.patch @@ -1,7 +1,7 @@ From 5987a43e40444a524768b1434de1a67c6e53000a Mon Sep 17 00:00:00 2001 From: Samuel Verschelde Date: Thu, 13 Aug 2020 17:10:12 +0200 -Subject: [PATCH 006/178] Re-add the ext4 driver for users who need to +Subject: [PATCH 006/177] Re-add the ext4 driver for users who need to transition The driver is needed to transition to the ext driver. @@ -21,7 +21,7 @@ creation. create mode 100644 drivers/EXT4SR.py diff --git a/Makefile b/Makefile -index f93b7be..9bc0a9d 100755 +index f93b7be5..9bc0a9d8 100755 --- a/Makefile +++ b/Makefile @@ -21,6 +21,7 @@ SM_DRIVERS += CephFS @@ -34,7 +34,7 @@ index f93b7be..9bc0a9d 100755 SM_LIBS += SRCommand diff --git a/drivers/EXT4SR.py b/drivers/EXT4SR.py new file mode 100644 -index 0000000..bd67d00 +index 00000000..bd67d003 --- /dev/null +++ b/drivers/EXT4SR.py @@ -0,0 +1,235 @@ @@ -275,7 +275,7 @@ index 0000000..bd67d00 + SR.registerSR(EXT4SR) \ No newline at end of file diff --git a/drivers/cleanup.py b/drivers/cleanup.py -index feb7c18..12e4428 100755 +index feb7c187..12e44285 100755 --- a/drivers/cleanup.py +++ b/drivers/cleanup.py @@ -2767,7 +2767,7 @@ def normalizeType(type): @@ -287,6 +287,3 @@ index feb7c18..12e4428 100755 ]: type = SR.TYPE_FILE if not type in SR.TYPES: --- -2.46.0 - diff --git a/SOURCES/0007-feat-drivers-add-LinstorSR-driver.patch b/SOURCES/0007-feat-drivers-add-LinstorSR-driver.patch index b827c19b..ca9c5596 100644 --- a/SOURCES/0007-feat-drivers-add-LinstorSR-driver.patch +++ b/SOURCES/0007-feat-drivers-add-LinstorSR-driver.patch @@ -1,7 +1,7 @@ From 2c71c3ce33cd02573824a57bd4b3917b45c890b0 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Mon, 16 Mar 2020 15:39:44 +0100 -Subject: [PATCH 007/178] feat(drivers): add LinstorSR driver +Subject: [PATCH 007/177] feat(drivers): add LinstorSR driver Some important points: @@ -78,7 +78,7 @@ module imports are protected by try.. except... blocks. create mode 100644 tests/mocks/linstor/__init__.py diff --git a/Makefile b/Makefile -index 9bc0a9d..609e182 100755 +index 9bc0a9d8..609e1828 100755 --- a/Makefile +++ b/Makefile @@ -8,6 +8,7 @@ SM_DRIVERS += udev @@ -139,7 +139,7 @@ index 9bc0a9d..609e182 100755 - diff --git a/drivers/LinstorSR.py b/drivers/LinstorSR.py new file mode 100755 -index 0000000..8be1836 +index 00000000..8be18367 --- /dev/null +++ b/drivers/LinstorSR.py @@ -0,0 +1,2100 @@ @@ -2244,7 +2244,7 @@ index 0000000..8be1836 +else: + SR.registerSR(LinstorSR) diff --git a/drivers/XE_SR_ERRORCODES.xml b/drivers/XE_SR_ERRORCODES.xml -index 535c9dc..6bbb817 100755 +index 535c9dc3..6bbb8179 100755 --- a/drivers/XE_SR_ERRORCODES.xml +++ b/drivers/XE_SR_ERRORCODES.xml @@ -911,4 +911,40 @@ @@ -2289,7 +2289,7 @@ index 535c9dc..6bbb817 100755 + diff --git a/drivers/cleanup.py b/drivers/cleanup.py -index 12e4428..af2f316 100755 +index 12e44285..af2f316b 100755 --- a/drivers/cleanup.py +++ b/drivers/cleanup.py @@ -47,7 +47,17 @@ import xs_errors @@ -2709,7 +2709,7 @@ index 12e4428..af2f316 100755 diff --git a/drivers/linstor-manager b/drivers/linstor-manager new file mode 100755 -index 0000000..f7ce180 +index 00000000..f7ce1809 --- /dev/null +++ b/drivers/linstor-manager @@ -0,0 +1,272 @@ @@ -2987,7 +2987,7 @@ index 0000000..f7ce180 + }) diff --git a/drivers/linstorjournaler.py b/drivers/linstorjournaler.py new file mode 100755 -index 0000000..7495330 +index 00000000..74953305 --- /dev/null +++ b/drivers/linstorjournaler.py @@ -0,0 +1,155 @@ @@ -3148,7 +3148,7 @@ index 0000000..7495330 + return '{}/{}'.format(type, identifier) diff --git a/drivers/linstorvhdutil.py b/drivers/linstorvhdutil.py new file mode 100644 -index 0000000..f31c752 +index 00000000..f31c7525 --- /dev/null +++ b/drivers/linstorvhdutil.py @@ -0,0 +1,186 @@ @@ -3340,7 +3340,7 @@ index 0000000..f31c752 + ) diff --git a/drivers/linstorvolumemanager.py b/drivers/linstorvolumemanager.py new file mode 100755 -index 0000000..d400421 +index 00000000..d4004217 --- /dev/null +++ b/drivers/linstorvolumemanager.py @@ -0,0 +1,1713 @@ @@ -5058,7 +5058,7 @@ index 0000000..d400421 + return True + return False diff --git a/drivers/tapdisk-pause b/drivers/tapdisk-pause -index 5936869..ed6abed 100755 +index 59368696..ed6abede 100755 --- a/drivers/tapdisk-pause +++ b/drivers/tapdisk-pause @@ -29,6 +29,12 @@ import lvhdutil @@ -5153,7 +5153,7 @@ index 5936869..ed6abed 100755 def Pause(self): util.SMlog("Pause for %s" % self.vdi_uuid) diff --git a/drivers/util.py b/drivers/util.py -index 4f9fa9d..8bd3635 100755 +index 4f9fa9d1..8bd36351 100755 --- a/drivers/util.py +++ b/drivers/util.py @@ -653,10 +653,36 @@ def get_this_host(): @@ -5223,7 +5223,7 @@ index 4f9fa9d..8bd3635 100755 if retries >= maxretry: diff --git a/linstor/Makefile b/linstor/Makefile new file mode 100644 -index 0000000..c329ca3 +index 00000000..c329ca30 --- /dev/null +++ b/linstor/Makefile @@ -0,0 +1,22 @@ @@ -5251,7 +5251,7 @@ index 0000000..c329ca3 + rm -f linstor-monitord diff --git a/linstor/linstor-monitord.c b/linstor/linstor-monitord.c new file mode 100644 -index 0000000..8161813 +index 00000000..8161813d --- /dev/null +++ b/linstor/linstor-monitord.c @@ -0,0 +1,402 @@ @@ -5659,7 +5659,7 @@ index 0000000..8161813 +} diff --git a/systemd/linstor-monitor.service b/systemd/linstor-monitor.service new file mode 100644 -index 0000000..5f8f0a7 +index 00000000..5f8f0a76 --- /dev/null +++ b/systemd/linstor-monitor.service @@ -0,0 +1,13 @@ @@ -5678,7 +5678,4 @@ index 0000000..5f8f0a7 +WantedBy=multi-user.target diff --git a/tests/mocks/linstor/__init__.py b/tests/mocks/linstor/__init__.py new file mode 100644 -index 0000000..e69de29 --- -2.46.0 - +index 00000000..e69de29b diff --git a/SOURCES/0008-feat-tests-add-unit-tests-concerning-ZFS-close-xcp-n.patch b/SOURCES/0008-feat-tests-add-unit-tests-concerning-ZFS-close-xcp-n.patch index 1338beb1..63449355 100644 --- a/SOURCES/0008-feat-tests-add-unit-tests-concerning-ZFS-close-xcp-n.patch +++ b/SOURCES/0008-feat-tests-add-unit-tests-concerning-ZFS-close-xcp-n.patch @@ -1,7 +1,7 @@ From 89cee57b097a681edc800be05d1dfc7d97aec995 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Tue, 27 Oct 2020 15:04:36 +0100 -Subject: [PATCH 008/178] feat(tests): add unit tests concerning ZFS (close +Subject: [PATCH 008/177] feat(tests): add unit tests concerning ZFS (close xcp-ng/xcp#425) - Check if "create" doesn't succeed without zfs packages @@ -13,7 +13,7 @@ Subject: [PATCH 008/178] feat(tests): add unit tests concerning ZFS (close create mode 100644 tests/test_ZFSSR.py diff --git a/drivers/ZFSSR.py b/drivers/ZFSSR.py -index 1b2f398..d375210 100644 +index 1b2f398f..d3752101 100644 --- a/drivers/ZFSSR.py +++ b/drivers/ZFSSR.py @@ -58,6 +58,18 @@ DRIVER_INFO = { @@ -85,7 +85,7 @@ index 1b2f398..d375210 100644 class ZFSFileVDI(FileSR.FileVDI): diff --git a/tests/test_ZFSSR.py b/tests/test_ZFSSR.py new file mode 100644 -index 0000000..6f8040d +index 00000000..6f8040dc --- /dev/null +++ b/tests/test_ZFSSR.py @@ -0,0 +1,115 @@ @@ -204,6 +204,3 @@ index 0000000..6f8040d + self.assertTrue(e.errno == 47) + failed = True + self.assertTrue(failed) --- -2.46.0 - diff --git a/SOURCES/0009-If-no-NFS-ACLs-provided-assume-everyone.patch b/SOURCES/0009-If-no-NFS-ACLs-provided-assume-everyone.patch index 51e5bf9c..dd92a074 100644 --- a/SOURCES/0009-If-no-NFS-ACLs-provided-assume-everyone.patch +++ b/SOURCES/0009-If-no-NFS-ACLs-provided-assume-everyone.patch @@ -1,7 +1,7 @@ From c338e356dcad6ad17b2f2248ff45fcf983173e0e Mon Sep 17 00:00:00 2001 From: BenjiReis Date: Thu, 25 Feb 2021 09:54:52 +0100 -Subject: [PATCH 009/178] If no NFS ACLs provided, assume everyone: +Subject: [PATCH 009/177] If no NFS ACLs provided, assume everyone: Some QNAP devices do not provide ACL when fetching NFS mounts. In this case the assumed ACL should be: "*". @@ -16,7 +16,7 @@ Relevant issues: 2 files changed, 35 insertions(+), 1 deletion(-) diff --git a/drivers/nfs.py b/drivers/nfs.py -index 23dca28..80b71a5 100644 +index 23dca287..80b71a52 100644 --- a/drivers/nfs.py +++ b/drivers/nfs.py @@ -202,7 +202,11 @@ def scan_exports(target): @@ -33,7 +33,7 @@ index 23dca28..80b71a5 100644 entry.appendChild(subentry) textnode = dom.createTextNode(path) diff --git a/tests/test_nfs.py b/tests/test_nfs.py -index 71800ab..cef414f 100644 +index 71800ab0..cef414fe 100644 --- a/tests/test_nfs.py +++ b/tests/test_nfs.py @@ -140,3 +140,33 @@ class Test_nfs(unittest.TestCase): @@ -70,6 +70,3 @@ index 71800ab..cef414f 100644 + self.assertEqual(res.toprettyxml(), expected) + self.assertEqual(len(pread2.mock_calls), 1) + pread2.assert_called_with(['/usr/sbin/showmount', '--no-headers', '-e', 'aServer']) --- -2.46.0 - diff --git a/SOURCES/0010-Added-SM-Driver-for-MooseFS.patch b/SOURCES/0010-Added-SM-Driver-for-MooseFS.patch index 3a5f9ff3..d3c9b2ce 100644 --- a/SOURCES/0010-Added-SM-Driver-for-MooseFS.patch +++ b/SOURCES/0010-Added-SM-Driver-for-MooseFS.patch @@ -1,7 +1,7 @@ From 359dd15436b153bedf32af7768973febc2b84c2f Mon Sep 17 00:00:00 2001 From: Aleksander Wieliczko Date: Fri, 29 Jan 2021 15:21:23 +0100 -Subject: [PATCH 010/178] Added SM Driver for MooseFS +Subject: [PATCH 010/177] Added SM Driver for MooseFS Co-authored-by: Piotr Robert Konopelko Signed-off-by: Aleksander Wieliczko @@ -16,7 +16,7 @@ Signed-off-by: Ronan Abhamon create mode 100644 tests/test_MooseFSSR.py diff --git a/Makefile b/Makefile -index 609e182..b0ae353 100755 +index 609e1828..b0ae3536 100755 --- a/Makefile +++ b/Makefile @@ -23,6 +23,7 @@ SM_DRIVERS += GlusterFS @@ -29,7 +29,7 @@ index 609e182..b0ae353 100755 SM_LIBS += SRCommand diff --git a/drivers/MooseFSSR.py b/drivers/MooseFSSR.py new file mode 100755 -index 0000000..be5112c +index 00000000..be5112c8 --- /dev/null +++ b/drivers/MooseFSSR.py @@ -0,0 +1,271 @@ @@ -305,7 +305,7 @@ index 0000000..be5112c +else: + SR.registerSR(MooseFSSR) diff --git a/drivers/cleanup.py b/drivers/cleanup.py -index af2f316..a6636c5 100755 +index af2f316b..a6636c5d 100755 --- a/drivers/cleanup.py +++ b/drivers/cleanup.py @@ -3123,7 +3123,7 @@ def normalizeType(type): @@ -319,7 +319,7 @@ index af2f316..a6636c5 100755 if type in ["linstor"]: diff --git a/tests/test_MooseFSSR.py b/tests/test_MooseFSSR.py new file mode 100644 -index 0000000..5a61cf5 +index 00000000..5a61cf5e --- /dev/null +++ b/tests/test_MooseFSSR.py @@ -0,0 +1,62 @@ @@ -385,6 +385,3 @@ index 0000000..5a61cf5 + mock_checkmount.return_value=False + mfssr.detach('asr_uuid') + self.assertTrue(mfssr.attached) --- -2.46.0 - diff --git a/SOURCES/0011-Avoid-usage-of-umount-in-ISOSR-when-legacy_mode-is-u.patch b/SOURCES/0011-Avoid-usage-of-umount-in-ISOSR-when-legacy_mode-is-u.patch index 8e8b06d2..8509ab99 100644 --- a/SOURCES/0011-Avoid-usage-of-umount-in-ISOSR-when-legacy_mode-is-u.patch +++ b/SOURCES/0011-Avoid-usage-of-umount-in-ISOSR-when-legacy_mode-is-u.patch @@ -1,7 +1,7 @@ From c984a5c3510b12c44a9fd2d0297cdb21111d20f7 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Thu, 2 Dec 2021 09:28:37 +0100 -Subject: [PATCH 011/178] Avoid usage of `umount` in `ISOSR` when `legacy_mode` +Subject: [PATCH 011/177] Avoid usage of `umount` in `ISOSR` when `legacy_mode` is used `umount` should not be called when `legacy_mode` is enabled, otherwise a mounted dir @@ -15,7 +15,7 @@ Signed-off-by: Ronan Abhamon 2 files changed, 62 insertions(+), 4 deletions(-) diff --git a/drivers/ISOSR.py b/drivers/ISOSR.py -index 1094a71..0206ef9 100755 +index 1094a716..0206ef95 100755 --- a/drivers/ISOSR.py +++ b/drivers/ISOSR.py @@ -458,10 +458,9 @@ class ISOSR(SR.SR): @@ -33,7 +33,7 @@ index 1094a71..0206ef9 100755 util.pread(["umount", self.mountpoint]); except util.CommandException, inst: diff --git a/tests/test_ISOSR.py b/tests/test_ISOSR.py -index 7655f14..03c8851 100644 +index 7655f14a..03c88511 100644 --- a/tests/test_ISOSR.py +++ b/tests/test_ISOSR.py @@ -20,6 +20,65 @@ class FakeISOSR(ISOSR.ISOSR): @@ -102,6 +102,3 @@ index 7655f14..03c8851 100644 class TestISOSR_overNFS(unittest.TestCase): --- -2.46.0 - diff --git a/SOURCES/0012-MooseFS-SR-uses-now-UUID-subdirs-for-each-SR.patch b/SOURCES/0012-MooseFS-SR-uses-now-UUID-subdirs-for-each-SR.patch index f5db7613..d3350c08 100644 --- a/SOURCES/0012-MooseFS-SR-uses-now-UUID-subdirs-for-each-SR.patch +++ b/SOURCES/0012-MooseFS-SR-uses-now-UUID-subdirs-for-each-SR.patch @@ -1,7 +1,7 @@ From c701f410bdac559ac8384da2f8b40833e5e89866 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Wed, 18 May 2022 17:28:09 +0200 -Subject: [PATCH 012/178] MooseFS SR uses now UUID subdirs for each SR +Subject: [PATCH 012/177] MooseFS SR uses now UUID subdirs for each SR A sm-config boolean param `subdir` is available to configure where to store the VHDs: - In a subdir with the SR UUID, the new behavior @@ -17,7 +17,7 @@ Signed-off-by: Ronan Abhamon 1 file changed, 52 insertions(+), 4 deletions(-) diff --git a/drivers/MooseFSSR.py b/drivers/MooseFSSR.py -index be5112c..ab72f4e 100755 +index be5112c8..ab72f4e9 100755 --- a/drivers/MooseFSSR.py +++ b/drivers/MooseFSSR.py @@ -18,6 +18,7 @@ @@ -125,6 +125,3 @@ index be5112c..ab72f4e 100755 except util.CommandException, inst: self.detach(sr_uuid) if inst.code != errno.ENOENT: --- -2.46.0 - diff --git a/SOURCES/0013-Fix-is_open-call-for-many-drivers-25.patch b/SOURCES/0013-Fix-is_open-call-for-many-drivers-25.patch index 455ea091..a7a7075c 100644 --- a/SOURCES/0013-Fix-is_open-call-for-many-drivers-25.patch +++ b/SOURCES/0013-Fix-is_open-call-for-many-drivers-25.patch @@ -1,7 +1,7 @@ From cba6bde2b5243bac634b5e5e910db685355ba83e Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Thu, 23 Jun 2022 10:36:36 +0200 -Subject: [PATCH 013/178] Fix is_open call for many drivers (#25) +Subject: [PATCH 013/177] Fix is_open call for many drivers (#25) Ensure all shared drivers are imported in `_is_open` definition to register them in the driver list. Otherwise this function always fails with a SRUnknownType exception. @@ -20,7 +20,7 @@ Signed-off-by: Ronan Abhamon 3 files changed, 30 insertions(+), 7 deletions(-) diff --git a/drivers/GlusterFSSR.py b/drivers/GlusterFSSR.py -index a2f7484..323718d 100644 +index a2f7484f..323718d9 100644 --- a/drivers/GlusterFSSR.py +++ b/drivers/GlusterFSSR.py @@ -96,7 +96,8 @@ class GlusterFSSR(FileSR.FileSR): @@ -34,7 +34,7 @@ index a2f7484..323718d 100644 self.sm_config = self.session.xenapi.SR.get_sm_config(self.sr_ref) else: diff --git a/drivers/NFSSR.py b/drivers/NFSSR.py -index e876b6b..207e45c 100755 +index e876b6bd..207e45c4 100755 --- a/drivers/NFSSR.py +++ b/drivers/NFSSR.py @@ -83,9 +83,12 @@ class NFSSR(FileSR.SharedFileSR): @@ -64,7 +64,7 @@ index e876b6b..207e45c 100755 try: self.scan_exports(self.dconf['server']) diff --git a/drivers/on_slave.py b/drivers/on_slave.py -index 0d60d96..534e6c9 100755 +index 0d60d969..534e6c90 100755 --- a/drivers/on_slave.py +++ b/drivers/on_slave.py @@ -72,7 +72,17 @@ def multi(session, args): @@ -103,6 +103,3 @@ index 0d60d96..534e6c9 100755 cmd.params = {"command": None} driver = SR.driver(srType) --- -2.46.0 - diff --git a/SOURCES/0014-Remove-SR_CACHING-capability-for-many-SR-types-24.patch b/SOURCES/0014-Remove-SR_CACHING-capability-for-many-SR-types-24.patch index c56c5f16..7a8439f6 100644 --- a/SOURCES/0014-Remove-SR_CACHING-capability-for-many-SR-types-24.patch +++ b/SOURCES/0014-Remove-SR_CACHING-capability-for-many-SR-types-24.patch @@ -1,7 +1,7 @@ From bf7577ff65e882686af8e7ca1748cfb0b7934a14 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Thu, 23 Jun 2022 10:37:07 +0200 -Subject: [PATCH 014/178] Remove SR_CACHING capability for many SR types (#24) +Subject: [PATCH 014/177] Remove SR_CACHING capability for many SR types (#24) SR_CACHING offers the capacity to use IntelliCache, but this feature is only available using NFS SR. @@ -17,7 +17,7 @@ Signed-off-by: Ronan Abhamon 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/CephFSSR.py b/drivers/CephFSSR.py -index d797490..09c928b 100644 +index d7974907..09c928be 100644 --- a/drivers/CephFSSR.py +++ b/drivers/CephFSSR.py @@ -38,7 +38,7 @@ import vhdutil @@ -30,7 +30,7 @@ index d797490..09c928b 100644 "VDI_UPDATE", "VDI_CLONE", "VDI_SNAPSHOT", "VDI_RESIZE", "VDI_MIRROR", "VDI_GENERATE_CONFIG", diff --git a/drivers/GlusterFSSR.py b/drivers/GlusterFSSR.py -index 323718d..61a7d40 100644 +index 323718d9..61a7d409 100644 --- a/drivers/GlusterFSSR.py +++ b/drivers/GlusterFSSR.py @@ -35,7 +35,7 @@ import vhdutil @@ -43,7 +43,7 @@ index 323718d..61a7d40 100644 "VDI_UPDATE", "VDI_CLONE", "VDI_SNAPSHOT", "VDI_RESIZE", "VDI_MIRROR", "VDI_GENERATE_CONFIG", diff --git a/drivers/MooseFSSR.py b/drivers/MooseFSSR.py -index ab72f4e..212f1ad 100755 +index ab72f4e9..212f1ad2 100755 --- a/drivers/MooseFSSR.py +++ b/drivers/MooseFSSR.py @@ -39,7 +39,7 @@ import vhdutil @@ -55,6 +55,3 @@ index ab72f4e..212f1ad 100755 "VDI_CREATE", "VDI_DELETE", "VDI_ATTACH", "VDI_DETACH", "VDI_UPDATE", "VDI_CLONE", "VDI_SNAPSHOT", "VDI_RESIZE", "VDI_MIRROR", "VDI_GENERATE_CONFIG", --- -2.46.0 - diff --git a/SOURCES/0015-Remove-SR_PROBE-from-ZFS-capabilities-37.patch b/SOURCES/0015-Remove-SR_PROBE-from-ZFS-capabilities-37.patch index 3fffabb0..83eed7c0 100644 --- a/SOURCES/0015-Remove-SR_PROBE-from-ZFS-capabilities-37.patch +++ b/SOURCES/0015-Remove-SR_PROBE-from-ZFS-capabilities-37.patch @@ -1,7 +1,7 @@ From 1a7496b75ae96edf79f2da481b54b80e8d2925f8 Mon Sep 17 00:00:00 2001 From: BenjiReis Date: Fri, 4 Aug 2023 12:10:08 +0200 -Subject: [PATCH 015/178] Remove `SR_PROBE` from ZFS capabilities (#37) +Subject: [PATCH 015/177] Remove `SR_PROBE` from ZFS capabilities (#37) The probe method is not implemented so we shouldn't advertise it. @@ -12,7 +12,7 @@ Signed-off-by: BenjiReis 1 file changed, 1 deletion(-) diff --git a/drivers/ZFSSR.py b/drivers/ZFSSR.py -index d375210..b803211 100644 +index d3752101..b8032117 100644 --- a/drivers/ZFSSR.py +++ b/drivers/ZFSSR.py @@ -23,7 +23,6 @@ import util @@ -23,6 +23,3 @@ index d375210..b803211 100644 'SR_UPDATE', 'VDI_CREATE', 'VDI_DELETE', --- -2.46.0 - diff --git a/SOURCES/0016-Fix-vdi-ref-when-static-vdis-are-used.patch b/SOURCES/0016-Fix-vdi-ref-when-static-vdis-are-used.patch index 0b6816b9..eb92f4bf 100644 --- a/SOURCES/0016-Fix-vdi-ref-when-static-vdis-are-used.patch +++ b/SOURCES/0016-Fix-vdi-ref-when-static-vdis-are-used.patch @@ -1,7 +1,7 @@ From 37c79431e2c6654c5afdb6cde6e23c4c321c4cda Mon Sep 17 00:00:00 2001 From: Guillaume Date: Wed, 16 Aug 2023 13:42:21 +0200 -Subject: [PATCH 016/178] Fix vdi-ref when static vdis are used +Subject: [PATCH 016/177] Fix vdi-ref when static vdis are used When static vdis are used there is no snapshots and we don't want to call method from XAPI. @@ -12,7 +12,7 @@ Signed-off-by: Guillaume 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/drivers/LVHDSR.py b/drivers/LVHDSR.py -index dd8e20b..6ac3f80 100755 +index dd8e20b9..6ac3f804 100755 --- a/drivers/LVHDSR.py +++ b/drivers/LVHDSR.py @@ -1532,10 +1532,11 @@ class LVHDVDI(VDI.VDI): @@ -31,6 +31,3 @@ index dd8e20b..6ac3f80 100755 if needDeflate: try: --- -2.46.0 - diff --git a/SOURCES/0017-Tell-users-not-to-edit-multipath.conf-directly.patch b/SOURCES/0017-Tell-users-not-to-edit-multipath.conf-directly.patch index 533f27eb..a336b063 100644 --- a/SOURCES/0017-Tell-users-not-to-edit-multipath.conf-directly.patch +++ b/SOURCES/0017-Tell-users-not-to-edit-multipath.conf-directly.patch @@ -1,7 +1,7 @@ From 9bfcb0be3ff34354c9299bf6e0a90e691f14e813 Mon Sep 17 00:00:00 2001 From: Samuel Verschelde Date: Fri, 27 Jan 2023 12:03:15 +0100 -Subject: [PATCH 017/178] Tell users not to edit multipath.conf directly +Subject: [PATCH 017/177] Tell users not to edit multipath.conf directly This file is meant to remain unchanged and regularly updated along with the SM component. Users can create a custom configuration file in @@ -14,7 +14,7 @@ Signed-off-by: Samuel Verschelde 1 file changed, 8 insertions(+) diff --git a/multipath/multipath.conf b/multipath/multipath.conf -index f63506d..c854b57 100644 +index f63506d8..c854b577 100644 --- a/multipath/multipath.conf +++ b/multipath/multipath.conf @@ -1,3 +1,11 @@ @@ -29,6 +29,3 @@ index f63506d..c854b57 100644 # This configuration file is used to overwrite the built-in configuration of # multipathd. # For information on the syntax refer to `man multipath.conf` and the examples --- -2.46.0 - diff --git a/SOURCES/0018-Add-custom.conf-multipath-configuration-file.patch b/SOURCES/0018-Add-custom.conf-multipath-configuration-file.patch index f4eef0e6..7351479e 100644 --- a/SOURCES/0018-Add-custom.conf-multipath-configuration-file.patch +++ b/SOURCES/0018-Add-custom.conf-multipath-configuration-file.patch @@ -1,7 +1,7 @@ From 383f9128fb1a788074a5a6aca09a249bfeaa44f5 Mon Sep 17 00:00:00 2001 From: Samuel Verschelde Date: Fri, 27 Jan 2023 12:23:13 +0100 -Subject: [PATCH 018/178] Add custom.conf multipath configuration file +Subject: [PATCH 018/177] Add custom.conf multipath configuration file Meant to be installed as /etc/multipath/conf.d/custom.conf for users to have an easy entry point for editing, as well as information on what @@ -16,7 +16,7 @@ Signed-off-by: Samuel Verschelde diff --git a/multipath/custom.conf b/multipath/custom.conf new file mode 100644 -index 0000000..3c8583f +index 00000000..3c8583f1 --- /dev/null +++ b/multipath/custom.conf @@ -0,0 +1,6 @@ @@ -26,6 +26,3 @@ index 0000000..3c8583f +# They will also be retained through system upgrades to newer releases. + +# Refer to "man multipath.conf" --- -2.46.0 - diff --git a/SOURCES/0019-Install-etc-multipath-conf.d-custom.conf.patch b/SOURCES/0019-Install-etc-multipath-conf.d-custom.conf.patch index 445ace79..6c2c0ede 100644 --- a/SOURCES/0019-Install-etc-multipath-conf.d-custom.conf.patch +++ b/SOURCES/0019-Install-etc-multipath-conf.d-custom.conf.patch @@ -1,7 +1,7 @@ From 507c2f067878ee88765c5750d3e618c8c63208c7 Mon Sep 17 00:00:00 2001 From: Samuel Verschelde Date: Fri, 25 Aug 2023 17:47:34 +0200 -Subject: [PATCH 019/178] Install /etc/multipath/conf.d/custom.conf +Subject: [PATCH 019/177] Install /etc/multipath/conf.d/custom.conf Update Makefile so that the file is installed along with sm. @@ -11,7 +11,7 @@ Signed-off-by: Samuel Verschelde 1 file changed, 5 insertions(+) diff --git a/Makefile b/Makefile -index b0ae353..3357cbf 100755 +index b0ae3536..3357cbfb 100755 --- a/Makefile +++ b/Makefile @@ -78,6 +78,7 @@ SM_LIBS += sr_health_check @@ -47,6 +47,3 @@ index b0ae353..3357cbf 100755 install -m 755 multipath/sm-multipath \ $(SM_STAGING)/$(INIT_DIR) install -m 755 multipath/multipath-root-setup \ --- -2.46.0 - diff --git a/SOURCES/0020-Backport-NFS4-only-support.patch b/SOURCES/0020-Backport-NFS4-only-support.patch index c16552f2..10f909e8 100644 --- a/SOURCES/0020-Backport-NFS4-only-support.patch +++ b/SOURCES/0020-Backport-NFS4-only-support.patch @@ -1,7 +1,7 @@ From 2d197ca1c046dce44579f77f4e2ac23397edb9c1 Mon Sep 17 00:00:00 2001 From: Benjamin Reis Date: Mon, 18 Dec 2023 10:22:26 +0100 -Subject: [PATCH 020/178] Backport NFS4 only support +Subject: [PATCH 020/177] Backport NFS4 only support See: https://github.com/xapi-project/sm/pull/617 @@ -14,7 +14,7 @@ Signed-off-by: Benjamin Reis 4 files changed, 139 insertions(+), 64 deletions(-) diff --git a/drivers/NFSSR.py b/drivers/NFSSR.py -index 207e45c..e8389db 100755 +index 207e45c4..e8389db7 100755 --- a/drivers/NFSSR.py +++ b/drivers/NFSSR.py @@ -115,11 +115,12 @@ class NFSSR(FileSR.SharedFileSR): @@ -51,7 +51,7 @@ index 207e45c..e8389db 100755 class NFSFileVDI(FileSR.FileVDI): diff --git a/drivers/nfs.py b/drivers/nfs.py -index 80b71a5..ddb869e 100644 +index 80b71a52..ddb869e7 100644 --- a/drivers/nfs.py +++ b/drivers/nfs.py @@ -44,6 +44,7 @@ import time @@ -275,7 +275,7 @@ index 80b71a5..ddb869e 100644 def get_nfs_timeout(other_config): diff --git a/tests/test_NFSSR.py b/tests/test_NFSSR.py -index 31c06de..0f1603c 100644 +index 31c06de3..0f1603c6 100644 --- a/tests/test_NFSSR.py +++ b/tests/test_NFSSR.py @@ -182,7 +182,7 @@ class TestNFSSR(unittest.TestCase): @@ -288,7 +288,7 @@ index 31c06de..0f1603c 100644 soft_mount.assert_called_once_with('/var/run/sr-mount/UUID', 'aServer', diff --git a/tests/test_nfs.py b/tests/test_nfs.py -index cef414f..9ea807f 100644 +index cef414fe..9ea807f6 100644 --- a/tests/test_nfs.py +++ b/tests/test_nfs.py @@ -9,31 +9,32 @@ class Test_nfs(unittest.TestCase): @@ -425,6 +425,3 @@ index cef414f..9ea807f 100644 expected = """ --- -2.46.0 - diff --git a/SOURCES/0021-Backport-probe-for-NFS4-when-rpcinfo-does-not-includ.patch b/SOURCES/0021-Backport-probe-for-NFS4-when-rpcinfo-does-not-includ.patch index c3543117..8d69ec8d 100644 --- a/SOURCES/0021-Backport-probe-for-NFS4-when-rpcinfo-does-not-includ.patch +++ b/SOURCES/0021-Backport-probe-for-NFS4-when-rpcinfo-does-not-includ.patch @@ -1,7 +1,7 @@ From bcebd6854894ddd9cc6af7d41a54daab7a45f7be Mon Sep 17 00:00:00 2001 From: Benjamin Reis Date: Mon, 18 Dec 2023 10:35:46 +0100 -Subject: [PATCH 021/178] Backport probe for NFS4 when rpcinfo does not include +Subject: [PATCH 021/177] Backport probe for NFS4 when rpcinfo does not include it See: https://github.com/xapi-project/sm/pull/655 @@ -13,7 +13,7 @@ Signed-off-by: Benjamin Reis 2 files changed, 60 insertions(+), 15 deletions(-) diff --git a/drivers/nfs.py b/drivers/nfs.py -index ddb869e..32b9fc5 100644 +index ddb869e7..32b9fc58 100644 --- a/drivers/nfs.py +++ b/drivers/nfs.py @@ -83,10 +83,14 @@ def check_server_service(server, transport): @@ -82,7 +82,7 @@ index ddb869e..32b9fc5 100644 def get_nfs_timeout(other_config): nfs_timeout = 200 diff --git a/tests/test_nfs.py b/tests/test_nfs.py -index 9ea807f..3874d8e 100644 +index 9ea807f6..3874d8e7 100644 --- a/tests/test_nfs.py +++ b/tests/test_nfs.py @@ -9,12 +9,14 @@ class Test_nfs(unittest.TestCase): @@ -163,6 +163,3 @@ index 9ea807f..3874d8e 100644 def get_soft_mount_pread(self, binary, vers): return ([binary, 'remoteserver:remotepath', 'mountpoint', '-o', 'soft,proto=transport,vers=%s,acdirmin=0,acdirmax=0' % vers]) --- -2.46.0 - diff --git a/SOURCES/0022-feat-LargeBlock-backport-of-largeblocksr-51-55.patch b/SOURCES/0022-feat-LargeBlock-backport-of-largeblocksr-51-55.patch index 00f38f07..d1c1c31c 100644 --- a/SOURCES/0022-feat-LargeBlock-backport-of-largeblocksr-51-55.patch +++ b/SOURCES/0022-feat-LargeBlock-backport-of-largeblocksr-51-55.patch @@ -1,7 +1,7 @@ From 52d495879ebf8c1caee78f3e10f7febd65d8ccd3 Mon Sep 17 00:00:00 2001 From: Damien Thenot Date: Tue, 7 May 2024 15:20:22 +0200 -Subject: [PATCH 022/178] feat(LargeBlock): backport of largeblocksr (#51) +Subject: [PATCH 022/177] feat(LargeBlock): backport of largeblocksr (#51) (#55) A SR inheriting from a EXTSR allowing to use a 4KiB blocksize device as @@ -48,7 +48,7 @@ Signed-off-by: Damien Thenot create mode 100644 drivers/LargeBlockSR.py diff --git a/Makefile b/Makefile -index 3357cbf..284b9a3 100755 +index 3357cbfb..284b9a39 100755 --- a/Makefile +++ b/Makefile @@ -24,6 +24,7 @@ SM_DRIVERS += XFS @@ -61,7 +61,7 @@ index 3357cbf..284b9a3 100755 SM_LIBS += SRCommand diff --git a/drivers/LargeBlockSR.py b/drivers/LargeBlockSR.py new file mode 100644 -index 0000000..0fd1f34 +index 00000000..0fd1f345 --- /dev/null +++ b/drivers/LargeBlockSR.py @@ -0,0 +1,249 @@ @@ -315,7 +315,7 @@ index 0000000..0fd1f34 +else: + SR.registerSR(LargeBlockSR) diff --git a/drivers/XE_SR_ERRORCODES.xml b/drivers/XE_SR_ERRORCODES.xml -index 6bbb817..391c9d6 100755 +index 6bbb8179..391c9d63 100755 --- a/drivers/XE_SR_ERRORCODES.xml +++ b/drivers/XE_SR_ERRORCODES.xml @@ -947,4 +947,26 @@ @@ -346,7 +346,7 @@ index 6bbb817..391c9d6 100755 + diff --git a/drivers/cleanup.py b/drivers/cleanup.py -index a6636c5..d9237aa 100755 +index a6636c5d..d9237aa7 100755 --- a/drivers/cleanup.py +++ b/drivers/cleanup.py @@ -3123,7 +3123,7 @@ def normalizeType(type): @@ -359,7 +359,7 @@ index a6636c5..d9237aa 100755 type = SR.TYPE_FILE if type in ["linstor"]: diff --git a/drivers/lvutil.py b/drivers/lvutil.py -index 7e2cdaf..ac0e2e0 100755 +index 7e2cdaff..ac0e2e0b 100755 --- a/drivers/lvutil.py +++ b/drivers/lvutil.py @@ -543,13 +543,17 @@ def resizePV(dev): @@ -384,7 +384,7 @@ index 7e2cdaf..ac0e2e0 100755 def create(name, size, vgname, tag=None, size_in_percentage=None): if size_in_percentage: diff --git a/drivers/on_slave.py b/drivers/on_slave.py -index 534e6c9..3c7bd34 100755 +index 534e6c90..3c7bd340 100755 --- a/drivers/on_slave.py +++ b/drivers/on_slave.py @@ -76,6 +76,7 @@ def _is_open(session, args): @@ -395,6 +395,3 @@ index 534e6c9..3c7bd34 100755 import GlusterFSSR import LVHDSR import MooseFSSR --- -2.46.0 - diff --git a/SOURCES/0023-feat-LVHDSR-add-a-way-to-modify-config-of-LVMs-56.patch b/SOURCES/0023-feat-LVHDSR-add-a-way-to-modify-config-of-LVMs-56.patch index 924eb4ec..b7593a06 100644 --- a/SOURCES/0023-feat-LVHDSR-add-a-way-to-modify-config-of-LVMs-56.patch +++ b/SOURCES/0023-feat-LVHDSR-add-a-way-to-modify-config-of-LVMs-56.patch @@ -1,7 +1,7 @@ From ec5c7c6cd4732e7f70122ccdb8ccdaf6711e5f31 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Tue, 28 May 2024 15:17:21 +0200 -Subject: [PATCH 023/178] feat(LVHDSR): add a way to modify config of LVMs +Subject: [PATCH 023/177] feat(LVHDSR): add a way to modify config of LVMs (#56) With this change the driver supports a "lvm-conf" param on "other-config". @@ -23,7 +23,7 @@ Signed-off-by: Ronan Abhamon 3 files changed, 21 insertions(+), 6 deletions(-) diff --git a/drivers/LVHDSR.py b/drivers/LVHDSR.py -index 6ac3f80..5a83ae0 100755 +index 6ac3f804..5a83ae0c 100755 --- a/drivers/LVHDSR.py +++ b/drivers/LVHDSR.py @@ -161,14 +161,24 @@ class LVHDSR(SR.SR): @@ -62,7 +62,7 @@ index 6ac3f80..5a83ae0 100755 self.testMode = self.other_conf[self.TEST_MODE_KEY] self._prepareTestMode() diff --git a/drivers/cleanup.py b/drivers/cleanup.py -index d9237aa..926525f 100755 +index d9237aa7..926525f1 100755 --- a/drivers/cleanup.py +++ b/drivers/cleanup.py @@ -2565,7 +2565,12 @@ class LVHDSR(SR): @@ -80,7 +80,7 @@ index d9237aa..926525f 100755 self.journaler = journaler.Journaler(self.lvmCache) diff --git a/drivers/lvmcache.py b/drivers/lvmcache.py -index ea0bc17..54930b4 100644 +index ea0bc171..54930b47 100644 --- a/drivers/lvmcache.py +++ b/drivers/lvmcache.py @@ -59,10 +59,11 @@ class LVMCache: @@ -105,6 +105,3 @@ index ea0bc17..54930b4 100644 for tag in self.lvs[lvName].tags: self._removeTag(lvName, tag) del self.lvs[lvName] --- -2.46.0 - diff --git a/SOURCES/0025-Fix-timeout_call-alarm-must-be-reset-in-case-of-succ.patch b/SOURCES/0024-Fix-timeout_call-alarm-must-be-reset-in-case-of-succ.patch similarity index 80% rename from SOURCES/0025-Fix-timeout_call-alarm-must-be-reset-in-case-of-succ.patch rename to SOURCES/0024-Fix-timeout_call-alarm-must-be-reset-in-case-of-succ.patch index 62b7fa1c..c37d3e0b 100644 --- a/SOURCES/0025-Fix-timeout_call-alarm-must-be-reset-in-case-of-succ.patch +++ b/SOURCES/0024-Fix-timeout_call-alarm-must-be-reset-in-case-of-succ.patch @@ -1,7 +1,7 @@ -From 81233191b418528ff660f2dcc4f179db598eded5 Mon Sep 17 00:00:00 2001 +From 5cae68a05f71a823eb01e7253dda8cdcc5181e09 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Wed, 16 Feb 2022 18:24:56 +0100 -Subject: [PATCH 025/178] Fix timeout_call: alarm must be reset in case of +Subject: [PATCH 024/177] Fix timeout_call: alarm must be reset in case of success Otherwise the SIGALRM signal can be emitted after the execution @@ -13,7 +13,7 @@ Signed-off-by: Ronan Abhamon 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/drivers/util.py b/drivers/util.py -index 8bd3635..77f3f19 100755 +index 8bd36351..77f3f190 100755 --- a/drivers/util.py +++ b/drivers/util.py @@ -852,9 +852,8 @@ def timeout_call(timeoutseconds, function, *arguments): @@ -27,6 +27,3 @@ index 8bd3635..77f3f19 100755 def _incr_iscsiSR_refcount(targetIQN, uuid): --- -2.46.0 - diff --git a/SOURCES/0024-Revert-CA-379329-check-for-missing-iSCSI-sessions-an.patch b/SOURCES/0024-Revert-CA-379329-check-for-missing-iSCSI-sessions-an.patch deleted file mode 100644 index 4b18934d..00000000 --- a/SOURCES/0024-Revert-CA-379329-check-for-missing-iSCSI-sessions-an.patch +++ /dev/null @@ -1,1039 +0,0 @@ -From 4ffea27c739e2a02c78438bfb2d281259afad615 Mon Sep 17 00:00:00 2001 -From: Benjamin Reis -Date: Thu, 27 Jun 2024 17:55:10 +0200 -Subject: [PATCH 024/178] Revert "CA-379329: check for missing iSCSI sessions - and reconnect" - -This reverts commit d28dcc1341166ed4839dbea8ef6d1a24e981f461. - -Prevent bad disconnection of ISCSi targets - -In practice the commit that we revert is useful in the case where ISCSI connections are no longer valid, -but sometimes even without any config change or bad connections, -a disconnect/connect is launched preventing the correct use of the SR. - -This change is a workaround, we don't have a better solution at this time. - -Signed-off-by: Benjamin Reis ---- - Makefile | 7 +- - drivers/BaseISCSI.py | 2 +- - drivers/LVHDoISCSISR.py | 499 ++++++++++++++++---------------- - drivers/SR.py | 4 - - systemd/sr_health_check.service | 8 - - systemd/sr_health_check.timer | 13 - - tests/test_LVHDoISCSISR.py | 195 ------------- - tests/test_sr_health_check.py | 95 ------ - 8 files changed, 246 insertions(+), 577 deletions(-) - delete mode 100644 systemd/sr_health_check.service - delete mode 100644 systemd/sr_health_check.timer - delete mode 100644 tests/test_sr_health_check.py - -diff --git a/Makefile b/Makefile -index 284b9a3..c746fcf 100755 ---- a/Makefile -+++ b/Makefile -@@ -74,7 +74,6 @@ SM_LIBS += pluginutil - SM_LIBS += fcoelib - SM_LIBS += constants - SM_LIBS += cbtutil --SM_LIBS += sr_health_check - - UDEV_RULES = 65-multipath 55-xs-mpath-scsidev 57-usb 58-xapi - MPATH_DAEMON = sm-multipath -@@ -107,7 +106,7 @@ SM_PY_FILES = $(foreach LIB, $(SM_LIBS), drivers/$(LIB).py) $(foreach DRIVER, $( - - .PHONY: build - build: -- make -C dcopy -+ make -C dcopy - make -C linstor - - .PHONY: precommit -@@ -187,10 +186,6 @@ install: precheck - $(SM_STAGING)/$(SYSTEMD_SERVICE_DIR) - install -m 644 systemd/storage-init.service \ - $(SM_STAGING)/$(SYSTEMD_SERVICE_DIR) -- install -m 644 systemd/sr_health_check.service \ -- $(SM_STAGING)/$(SYSTEMD_SERVICE_DIR) -- install -m 644 systemd/sr_health_check.timer \ -- $(SM_STAGING)/$(SYSTEMD_SERVICE_DIR) - install -m 644 systemd/linstor-monitor.service \ - $(SM_STAGING)/$(SYSTEMD_SERVICE_DIR) - for i in $(UDEV_RULES); do \ -diff --git a/drivers/BaseISCSI.py b/drivers/BaseISCSI.py -index 652387f..72d1728 100755 ---- a/drivers/BaseISCSI.py -+++ b/drivers/BaseISCSI.py -@@ -136,7 +136,7 @@ class BaseISCSISR(SR.SR): - self.default_vdi_visibility = False - - # Required parameters -- if 'target' not in self.dconf or not self.dconf['target']: -+ if 'target' not in self.dconf or not self.dconf['target']: - raise xs_errors.XenError('ConfigTargetMissing') - - # we are no longer putting hconf in the xml. -diff --git a/drivers/LVHDoISCSISR.py b/drivers/LVHDoISCSISR.py -index 1fa6f6f..8f5eecf 100755 ---- a/drivers/LVHDoISCSISR.py -+++ b/drivers/LVHDoISCSISR.py -@@ -2,13 +2,13 @@ - # - # Copyright (C) Citrix Systems Inc. - # --# This program is free software; you can redistribute it and/or modify --# it under the terms of the GNU Lesser General Public License as published -+# This program is free software; you can redistribute it and/or modify -+# it under the terms of the GNU Lesser General Public License as published - # by the Free Software Foundation; version 2.1 only. - # --# This program is distributed in the hope that it will be useful, --# but WITHOUT ANY WARRANTY; without even the implied warranty of --# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+# This program is distributed in the hope that it will be useful, -+# but WITHOUT ANY WARRANTY; without even the implied warranty of -+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - # GNU Lesser General Public License for more details. - # - # You should have received a copy of the GNU Lesser General Public License -@@ -32,7 +32,7 @@ CAPABILITIES = ["SR_PROBE", "SR_UPDATE", "SR_METADATA", "SR_TRIM", - "VDI_CREATE", "VDI_DELETE", "VDI_ATTACH", "VDI_DETACH", - "VDI_GENERATE_CONFIG", "VDI_CLONE", "VDI_SNAPSHOT", - "VDI_RESIZE", "ATOMIC_PAUSE", "VDI_RESET_ON_BOOT/2", -- "VDI_UPDATE", "VDI_MIRROR", "VDI_CONFIG_CBT", -+ "VDI_UPDATE", "VDI_MIRROR", "VDI_CONFIG_CBT", - "VDI_ACTIVATE", "VDI_DEACTIVATE"] - - CONFIGURATION = [ [ 'SCSIid', 'The scsi_id of the destination LUN' ], \ -@@ -61,7 +61,7 @@ DRIVER_INFO = { - class LVHDoISCSISR(LVHDSR.LVHDSR): - """LVHD over ISCSI storage repository""" - def handles(type): -- if __name__ == '__main__': -+ if __name__ == '__main__': - name = sys.argv[0] - else: - name = __name__ -@@ -81,131 +81,243 @@ class LVHDoISCSISR(LVHDSR.LVHDSR): - if util.isVDICommand(self.original_srcmd.cmd): - self.SCSIid = self.dconf['SCSIid'] - else: -- self.create_iscsi_sessions(sr_uuid) -- -- LVHDSR.LVHDSR.load(self, sr_uuid) -- -- def create_iscsi_sessions(self, sr_uuid): -- if 'target' in self.original_srcmd.dconf: -- self.original_srcmd.dconf['targetlist'] = self.original_srcmd.dconf['target'] -- iscsi = BaseISCSI.BaseISCSISR(self.original_srcmd, sr_uuid) -- self.iscsiSRs = [] -- self.iscsiSRs.append(iscsi) -- saved_exc = None -- if self.dconf['target'].find(',') == 0 or self.dconf['targetIQN'] == "*": -- # Instantiate multiple sessions -+ if 'target' in self.original_srcmd.dconf: -+ self.original_srcmd.dconf['targetlist'] = self.original_srcmd.dconf['target'] -+ iscsi = BaseISCSI.BaseISCSISR(self.original_srcmd, sr_uuid) - self.iscsiSRs = [] -- if self.dconf['targetIQN'] == "*": -- IQN = "any" -- else: -- IQN = self.dconf['targetIQN'] -- dict = {} -- IQNstring = "" -- IQNs = [] -- try: -- if 'multiSession' in self.dconf: -- IQNs = self.dconf['multiSession'].split("|") -- for IQN in IQNs: -- if IQN: -- dict[IQN] = "" -- else: -+ self.iscsiSRs.append(iscsi) -+ -+ saved_exc = None -+ if self.dconf['target'].find(',') == 0 or self.dconf['targetIQN'] == "*": -+ # Instantiate multiple sessions -+ self.iscsiSRs = [] -+ if self.dconf['targetIQN'] == "*": -+ IQN = "any" -+ else: -+ IQN = self.dconf['targetIQN'] -+ dict = {} -+ IQNstring = "" -+ IQNs = [] -+ try: -+ if 'multiSession' in self.dconf: -+ IQNs = self.dconf['multiSession'].split("|") -+ for IQN in IQNs: -+ if IQN: -+ dict[IQN] = "" -+ else: -+ try: -+ IQNs.remove(IQN) -+ except: -+ # Exceptions are not expected but just in case -+ pass -+ # Order in multiSession must be preserved. It is important for dual-controllers. -+ # IQNstring cannot be built with a dictionary iteration because of this -+ IQNstring = self.dconf['multiSession'] -+ else: -+ for tgt in self.dconf['target'].split(','): - try: -- IQNs.remove(IQN) -+ tgt_ip = util._convertDNS(tgt) - except: -- # Exceptions are not expected but just in case -- pass -- # Order in multiSession must be preserved. It is important for dual-controllers. -- # IQNstring cannot be built with a dictionary iteration because of this -- IQNstring = self.dconf['multiSession'] -+ raise xs_errors.XenError('DNSError') -+ iscsilib.ensure_daemon_running_ok(iscsi.localIQN) -+ map = iscsilib.discovery(tgt_ip, iscsi.port, iscsi.chapuser, iscsi.chappassword, targetIQN=IQN) -+ util.SMlog("Discovery for IP %s returned %s" % (tgt, map)) -+ for i in range(0, len(map)): -+ (portal, tpgt, iqn) = map[i] -+ (ipaddr, port) = iscsilib.parse_IP_port(portal) -+ try: -+ util._testHost(ipaddr, int(port), 'ISCSITarget') -+ except: -+ util.SMlog("Target Not reachable: (%s:%s)" % (ipaddr, port)) -+ continue -+ key = "%s,%s,%s" % (ipaddr, port, iqn) -+ dict[key] = "" -+ # Again, do not mess up with IQNs order. Dual controllers will benefit from that -+ if IQNstring == "": -+ # Compose the IQNstring first -+ for key in dict.keys(): -+ IQNstring += "%s|" % key -+ # Reinitialize and store iterator -+ key_iterator = iter(dict.keys()) -+ else: -+ key_iterator = IQNs -+ -+ # Now load the individual iSCSI base classes -+ for key in key_iterator: -+ (ipaddr, port, iqn) = key.split(',') -+ srcmd_copy = copy.deepcopy(self.original_srcmd) -+ srcmd_copy.dconf['target'] = ipaddr -+ srcmd_copy.dconf['targetIQN'] = iqn -+ srcmd_copy.dconf['multiSession'] = IQNstring -+ util.SMlog("Setting targetlist: %s" % srcmd_copy.dconf['targetlist']) -+ self.iscsiSRs.append(BaseISCSI.BaseISCSISR(srcmd_copy, sr_uuid)) -+ pbd = util.find_my_pbd(self.session, self.host_ref, self.sr_ref) -+ if pbd is not None and 'multiSession' not in self.dconf: -+ dconf = self.session.xenapi.PBD.get_device_config(pbd) -+ dconf['multiSession'] = IQNstring -+ self.session.xenapi.PBD.set_device_config(pbd, dconf) -+ except Exception as exc: -+ util.logException("LVHDoISCSISR.load") -+ saved_exc = exc -+ try: -+ self.iscsi = self.iscsiSRs[0] -+ except IndexError as exc: -+ if isinstance(saved_exc, SR.SROSError): -+ raise saved_exc # pylint: disable-msg=E0702 -+ elif isinstance(saved_exc, Exception): -+ raise xs_errors.XenError('SMGeneral', str(saved_exc)) - else: -- for tgt in self.dconf['target'].split(','): -+ raise xs_errors.XenError('SMGeneral', str(exc)) -+ -+ # Be extremely careful not to throw exceptions here since this function -+ # is the main one used by all operations including probing and creating -+ pbd = None -+ try: -+ pbd = util.find_my_pbd(self.session, self.host_ref, self.sr_ref) -+ except: -+ pass -+ -+ # Apart from the upgrade case, user must specify a SCSIid -+ if 'SCSIid' not in self.dconf: -+ # Dual controller issue -+ self.LUNs = {} # Dict for LUNs from all the iscsi objects -+ for ii in range(0, len(self.iscsiSRs)): -+ self.iscsi = self.iscsiSRs[ii] -+ self._LUNprint(sr_uuid) -+ for key in self.iscsi.LUNs: -+ self.LUNs[key] = self.iscsi.LUNs[key] -+ self.print_LUNs_XML() -+ self.iscsi = self.iscsiSRs[0] # back to original value -+ raise xs_errors.XenError('ConfigSCSIid') -+ -+ self.SCSIid = self.dconf['SCSIid'] -+ -+ # This block checks if the first iscsi target contains the right SCSIid. -+ # If not it scans the other iscsi targets because chances are that more -+ # than one controller is present -+ dev_match = False -+ forced_login = False -+ # No need to check if only one iscsi target is present -+ if len(self.iscsiSRs) == 1: -+ pass -+ else: -+ target_success = False -+ attempt_discovery = False -+ for iii in range(0, len(self.iscsiSRs)): -+ # Check we didn't leave any iscsi session open -+ # If exceptions happened before, the cleanup function has worked on the right target. -+ if forced_login == True: - try: -- tgt_ip = util._convertDNS(tgt) -+ iscsilib.ensure_daemon_running_ok(self.iscsi.localIQN) -+ iscsilib.logout(self.iscsi.target, self.iscsi.targetIQN) -+ forced_login = False - except: -- raise xs_errors.XenError('DNSError') -- iscsilib.ensure_daemon_running_ok(iscsi.localIQN) -- map = iscsilib.discovery(tgt_ip, iscsi.port, iscsi.chapuser, iscsi.chappassword, targetIQN=IQN) -- util.SMlog("Discovery for IP %s returned %s" % (tgt, map)) -- for i in range(0, len(map)): -- (portal, tpgt, iqn) = map[i] -- (ipaddr, port) = iscsilib.parse_IP_port(portal) -- try: -- util._testHost(ipaddr, int(port), 'ISCSITarget') -- except: -- util.SMlog("Target Not reachable: (%s:%s)" % (ipaddr, port)) -+ raise xs_errors.XenError('ISCSILogout') -+ self.iscsi = self.iscsiSRs[iii] -+ util.SMlog("path %s" % self.iscsi.path) -+ util.SMlog("iscsci data: targetIQN %s, portal %s" % (self.iscsi.targetIQN, self.iscsi.target)) -+ iscsilib.ensure_daemon_running_ok(self.iscsi.localIQN) -+ if not iscsilib._checkTGT(self.iscsi.targetIQN): -+ attempt_discovery = True -+ try: -+ # Ensure iscsi db has been populated -+ map = iscsilib.discovery( -+ self.iscsi.target, -+ self.iscsi.port, -+ self.iscsi.chapuser, -+ self.iscsi.chappassword, -+ targetIQN=self.iscsi.targetIQN) -+ if len(map) == 0: -+ util.SMlog("Discovery for iscsi data targetIQN %s," -+ " portal %s returned empty list" -+ " Trying another path if available" % -+ (self.iscsi.targetIQN, -+ self.iscsi.target)) - continue -+ except: -+ util.SMlog("Discovery failed for iscsi data targetIQN" -+ " %s, portal %s. Trying another path if" -+ " available" % -+ (self.iscsi.targetIQN, self.iscsi.target)) -+ continue -+ try: -+ iscsilib.login(self.iscsi.target, -+ self.iscsi.targetIQN, -+ self.iscsi.chapuser, -+ self.iscsi.chappassword, -+ self.iscsi.incoming_chapuser, -+ self.iscsi.incoming_chappassword, -+ self.mpath == "true") -+ except: -+ util.SMlog("Login failed for iscsi data targetIQN %s," -+ " portal %s. Trying another path" -+ " if available" % -+ (self.iscsi.targetIQN, self.iscsi.target)) -+ continue -+ target_success = True -+ forced_login = True -+ # A session should be active. -+ if not util.wait_for_path(self.iscsi.path, BaseISCSI.MAX_TIMEOUT): -+ util.SMlog("%s has no associated LUNs" % self.iscsi.targetIQN) -+ continue -+ scsiid_path = "/dev/disk/by-id/scsi-" + self.SCSIid -+ if not util.wait_for_path(scsiid_path, BaseISCSI.MAX_TIMEOUT): -+ util.SMlog("%s not found" % scsiid_path) -+ continue -+ for file in filter(self.iscsi.match_lun, util.listdir(self.iscsi.path)): -+ lun_path = os.path.join(self.iscsi.path, file) -+ lun_dev = scsiutil.getdev(lun_path) -+ try: -+ lun_scsiid = scsiutil.getSCSIid(lun_dev) -+ except: -+ util.SMlog("getSCSIid failed on %s in iscsi %s: LUN" -+ " offline or iscsi path down" % -+ (lun_dev, self.iscsi.path)) -+ continue -+ util.SMlog("dev from lun %s %s" % (lun_dev, lun_scsiid)) -+ if lun_scsiid == self.SCSIid: -+ util.SMlog("lun match in %s" % self.iscsi.path) -+ dev_match = True -+ # No more need to raise ISCSITarget exception. -+ # Resetting attempt_discovery -+ attempt_discovery = False -+ break -+ if dev_match: -+ if iii == 0: -+ break -+ util.SMlog("IQN reordering needed") -+ new_iscsiSRs = [] -+ IQNs = {} -+ IQNstring = "" -+ # iscsiSRs can be seen as a circular buffer: the head now is the matching one -+ for kkk in list(range(iii, len(self.iscsiSRs))) + list(range(0, iii)): -+ new_iscsiSRs.append(self.iscsiSRs[kkk]) -+ ipaddr = self.iscsiSRs[kkk].target -+ port = self.iscsiSRs[kkk].port -+ iqn = self.iscsiSRs[kkk].targetIQN - key = "%s,%s,%s" % (ipaddr, port, iqn) -- dict[key] = "" -- # Again, do not mess up with IQNs order. Dual controllers will benefit from that -- if IQNstring == "": -- # Compose the IQNstring first -- for key in dict.keys(): -- IQNstring += "%s|" % key -- # Reinitialize and store iterator -- key_iterator = iter(dict.keys()) -- else: -- key_iterator = IQNs -- -- # Now load the individual iSCSI base classes -- for key in key_iterator: -- (ipaddr, port, iqn) = key.split(',') -- srcmd_copy = copy.deepcopy(self.original_srcmd) -- srcmd_copy.dconf['target'] = ipaddr -- srcmd_copy.dconf['targetIQN'] = iqn -- srcmd_copy.dconf['multiSession'] = IQNstring -- util.SMlog("Setting targetlist: %s" % srcmd_copy.dconf['targetlist']) -- self.iscsiSRs.append(BaseISCSI.BaseISCSISR(srcmd_copy, sr_uuid)) -- pbd = util.find_my_pbd(self.session, self.host_ref, self.sr_ref) -- if pbd is not None and 'multiSession' not in self.dconf: -- dconf = self.session.xenapi.PBD.get_device_config(pbd) -- dconf['multiSession'] = IQNstring -- self.session.xenapi.PBD.set_device_config(pbd, dconf) -- except Exception as exc: -- util.logException("LVHDoISCSISR.load") -- saved_exc = exc -- try: -- self.iscsi = self.iscsiSRs[0] -- except IndexError as exc: -- if isinstance(saved_exc, SR.SROSError): -- raise saved_exc # pylint: disable-msg=E0702 -- elif isinstance(saved_exc, Exception): -- raise xs_errors.XenError('SMGeneral', str(saved_exc)) -- else: -- raise xs_errors.XenError('SMGeneral', str(exc)) -- # Be extremely careful not to throw exceptions here since this function -- # is the main one used by all operations including probing and creating -- pbd = None -- try: -- pbd = util.find_my_pbd(self.session, self.host_ref, self.sr_ref) -- except: -- pass -- # Apart from the upgrade case, user must specify a SCSIid -- if 'SCSIid' not in self.dconf: -- # Dual controller issue -- self.LUNs = {} # Dict for LUNs from all the iscsi objects -- for ii in range(0, len(self.iscsiSRs)): -- self.iscsi = self.iscsiSRs[ii] -- self._LUNprint(sr_uuid) -- for key in self.iscsi.LUNs: -- self.LUNs[key] = self.iscsi.LUNs[key] -- self.print_LUNs_XML() -- self.iscsi = self.iscsiSRs[0] # back to original value -- raise xs_errors.XenError('ConfigSCSIid') -- self.SCSIid = self.dconf['SCSIid'] -- # This block checks if the first iscsi target contains the right SCSIid. -- # If not it scans the other iscsi targets because chances are that more -- # than one controller is present -- dev_match = False -- forced_login = False -- # No need to check if only one iscsi target is present -- if len(self.iscsiSRs) == 1: -- pass -- else: -- target_success = False -- attempt_discovery = False -- for iii in range(0, len(self.iscsiSRs)): -- # Check we didn't leave any iscsi session open -- # If exceptions happened before, the cleanup function has worked on the right target. -+ # The final string must preserve the order without repetition -+ if key not in IQNs: -+ IQNs[key] = "" -+ IQNstring += "%s|" % key -+ util.SMlog("IQNstring is now %s" % IQNstring) -+ self.iscsiSRs = new_iscsiSRs -+ util.SMlog("iqn %s is leading now" % self.iscsiSRs[0].targetIQN) -+ # Updating pbd entry, if any -+ try: -+ pbd = util.find_my_pbd(self.session, self.host_ref, self.sr_ref) -+ if pbd is not None and 'multiSession' in self.dconf: -+ util.SMlog("Updating multiSession in PBD") -+ dconf = self.session.xenapi.PBD.get_device_config(pbd) -+ dconf['multiSession'] = IQNstring -+ self.session.xenapi.PBD.set_device_config(pbd, dconf) -+ except: -+ pass -+ break -+ if not target_success and attempt_discovery: -+ raise xs_errors.XenError('ISCSITarget') -+ -+ # Check for any unneeded open iscsi sessions - if forced_login == True: - try: - iscsilib.ensure_daemon_running_ok(self.iscsi.localIQN) -@@ -213,118 +325,8 @@ class LVHDoISCSISR(LVHDSR.LVHDSR): - forced_login = False - except: - raise xs_errors.XenError('ISCSILogout') -- self.iscsi = self.iscsiSRs[iii] -- util.SMlog("path %s" % self.iscsi.path) -- util.SMlog("iscsci data: targetIQN %s, portal %s" % (self.iscsi.targetIQN, self.iscsi.target)) -- iscsilib.ensure_daemon_running_ok(self.iscsi.localIQN) -- if not iscsilib._checkTGT(self.iscsi.targetIQN, self.iscsi.target): -- attempt_discovery = True -- try: -- # Ensure iscsi db has been populated -- map = iscsilib.discovery( -- self.iscsi.target, -- self.iscsi.port, -- self.iscsi.chapuser, -- self.iscsi.chappassword, -- targetIQN=self.iscsi.targetIQN) -- if len(map) == 0: -- util.SMlog("Discovery for iscsi data targetIQN %s," -- " portal %s returned empty list" -- " Trying another path if available" % -- (self.iscsi.targetIQN, -- self.iscsi.target)) -- continue -- except: -- util.SMlog("Discovery failed for iscsi data targetIQN" -- " %s, portal %s. Trying another path if" -- " available" % -- (self.iscsi.targetIQN, self.iscsi.target)) -- continue -- try: -- iscsilib.login(self.iscsi.target, -- self.iscsi.targetIQN, -- self.iscsi.chapuser, -- self.iscsi.chappassword, -- self.iscsi.incoming_chapuser, -- self.iscsi.incoming_chappassword, -- self.mpath == "true") -- except: -- util.SMlog("Login failed for iscsi data targetIQN %s," -- " portal %s. Trying another path" -- " if available" % -- (self.iscsi.targetIQN, self.iscsi.target)) -- continue -- target_success = True -- forced_login = True -- # A session should be active. -- if not util.wait_for_path(self.iscsi.path, BaseISCSI.MAX_TIMEOUT): -- util.SMlog("%s has no associated LUNs" % self.iscsi.targetIQN) -- continue -- scsiid_path = "/dev/disk/by-id/scsi-" + self.SCSIid -- if not util.wait_for_path(scsiid_path, BaseISCSI.MAX_TIMEOUT): -- util.SMlog("%s not found" % scsiid_path) -- continue -- for file in filter(self.iscsi.match_lun, util.listdir(self.iscsi.path)): -- lun_path = os.path.join(self.iscsi.path, file) -- lun_dev = scsiutil.getdev(lun_path) -- try: -- lun_scsiid = scsiutil.getSCSIid(lun_dev) -- except: -- util.SMlog("getSCSIid failed on %s in iscsi %s: LUN" -- " offline or iscsi path down" % -- (lun_dev, self.iscsi.path)) -- continue -- util.SMlog("dev from lun %s %s" % (lun_dev, lun_scsiid)) -- if lun_scsiid == self.SCSIid: -- util.SMlog("lun match in %s" % self.iscsi.path) -- dev_match = True -- # No more need to raise ISCSITarget exception. -- # Resetting attempt_discovery -- attempt_discovery = False -- break -- if dev_match: -- if iii == 0: -- break -- util.SMlog("IQN reordering needed") -- new_iscsiSRs = [] -- IQNs = {} -- IQNstring = "" -- # iscsiSRs can be seen as a circular buffer: the head now is the matching one -- for kkk in list(range(iii, len(self.iscsiSRs))) + list(range(0, iii)): -- new_iscsiSRs.append(self.iscsiSRs[kkk]) -- ipaddr = self.iscsiSRs[kkk].target -- port = self.iscsiSRs[kkk].port -- iqn = self.iscsiSRs[kkk].targetIQN -- key = "%s,%s,%s" % (ipaddr, port, iqn) -- # The final string must preserve the order without repetition -- if key not in IQNs: -- IQNs[key] = "" -- IQNstring += "%s|" % key -- util.SMlog("IQNstring is now %s" % IQNstring) -- self.iscsiSRs = new_iscsiSRs -- util.SMlog("iqn %s is leading now" % self.iscsiSRs[0].targetIQN) -- # Updating pbd entry, if any -- try: -- pbd = util.find_my_pbd(self.session, self.host_ref, self.sr_ref) -- if pbd is not None and 'multiSession' in self.dconf: -- util.SMlog("Updating multiSession in PBD") -- dconf = self.session.xenapi.PBD.get_device_config(pbd) -- dconf['multiSession'] = IQNstring -- self.session.xenapi.PBD.set_device_config(pbd, dconf) -- except: -- pass -- break -- if not target_success and attempt_discovery: -- raise xs_errors.XenError('ISCSITarget') - -- # Check for any unneeded open iscsi sessions -- if forced_login == True: -- try: -- iscsilib.ensure_daemon_running_ok(self.iscsi.localIQN) -- iscsilib.logout(self.iscsi.target, self.iscsi.targetIQN) -- forced_login = False -- except: -- raise xs_errors.XenError('ISCSILogout') -+ LVHDSR.LVHDSR.load(self, sr_uuid) - - def print_LUNs_XML(self): - dom = xml.dom.minidom.Document() -@@ -386,7 +388,7 @@ class LVHDoISCSISR(LVHDSR.LVHDSR): - for i in devs: - sgdevs.append(int(i.split("LUN")[1])) - sgdevs.sort() -- sgdev = "%s/LUN%d" % (self.iscsi.path,sgdevs[0]) -+ sgdev = "%s/LUN%d" % (self.iscsi.path,sgdevs[0]) - - # issue a report luns: - luns=util.pread2(["/usr/bin/sg_luns","-q",sgdev]).split('\n') -@@ -395,7 +397,7 @@ class LVHDoISCSISR(LVHDSR.LVHDSR): - scsi_id = scsiutil.getSCSIid(sgdev) - - # make sure we've got that many sg devices present -- for i in range(0,30): -+ for i in range(0,30): - luns=scsiutil._dosgscan() - sgdevs=filter(lambda r: r[1]==adapter, luns) - if len(sgdevs)>=nluns: -@@ -414,8 +416,8 @@ class LVHDoISCSISR(LVHDSR.LVHDSR): - pass # Make sure we don't break the probe... - - self.iscsi.print_LUNs() -- self.iscsi.detach(sr_uuid) -- -+ self.iscsi.detach(sr_uuid) -+ - def create(self, sr_uuid, size): - # Check SCSIid not already in use by other PBDs - if util.test_SCSIid(self.session, sr_uuid, self.SCSIid): -@@ -448,7 +450,7 @@ class LVHDoISCSISR(LVHDSR.LVHDSR): - device_config['SCSIid'] = SCSIid - self.session.xenapi.PBD.set_device_config(pbd, device_config) - -- self.dconf['SCSIid'] = SCSIid -+ self.dconf['SCSIid'] = SCSIid - self.SCSIid = self.dconf['SCSIid'] - except: - continue -@@ -511,7 +513,7 @@ class LVHDoISCSISR(LVHDSR.LVHDSR): - i.detach(sr_uuid) - raise xs_errors.XenError("SRUnavailable", opterr=inst) - self._setMultipathableFlag(SCSIid=self.SCSIid) -- -+ - def detach(self, sr_uuid): - LVHDSR.LVHDSR.detach(self, sr_uuid) - for i in self.iscsiSRs: -@@ -552,22 +554,9 @@ class LVHDoISCSISR(LVHDSR.LVHDSR): - self.iscsi.detach(self.uuid) - return out - -- def check_sr(self, sr_uuid): -- """Hook to check SR health""" -- pbdref = util.find_my_pbd(self.session, self.host_ref, self.sr_ref) -- if pbdref: -- other_config = self.session.xenapi.PBD.get_other_config(pbdref) -- if util.sessions_less_than_targets(other_config, self.dconf): -- self.create_iscsi_sessions(sr_uuid) -- for iscsi in self.iscsiSRs: -- try: -- iscsi.attach(sr_uuid) -- except SR.SROSError: -- util.SMlog("Failed to attach iSCSI target") -- - def vdi(self, uuid): - return LVHDoISCSIVDI(self, uuid) -- -+ - class LVHDoISCSIVDI(LVHDSR.LVHDVDI): - def generate_config(self, sr_uuid, vdi_uuid): - util.SMlog("LVHDoISCSIVDI.generate_config") -diff --git a/drivers/SR.py b/drivers/SR.py -index c752863..d10d945 100755 ---- a/drivers/SR.py -+++ b/drivers/SR.py -@@ -364,10 +364,6 @@ class SR(object): - """Post-init hook""" - pass - -- def check_sr(self, sr_uuid): -- """Hook to check SR health""" -- pass -- - def vdi(self, uuid): - """Return VDI object owned by this repository""" - if not self.vdis.has_key(uuid): -diff --git a/systemd/sr_health_check.service b/systemd/sr_health_check.service -deleted file mode 100644 -index 3b82631..0000000 ---- a/systemd/sr_health_check.service -+++ /dev/null -@@ -1,8 +0,0 @@ --[Unit] --Description=Healthy Check service for Storage Repositories --Wants=xapi-init-complete.target -- --[Service] --Type=oneshot --ExecStart=/opt/xensource/sm/sr_health_check.py -- -diff --git a/systemd/sr_health_check.timer b/systemd/sr_health_check.timer -deleted file mode 100644 -index d5f5f59..0000000 ---- a/systemd/sr_health_check.timer -+++ /dev/null -@@ -1,13 +0,0 @@ --[Unit] --Description=Period SR health check -- --[Timer] --# Jitter it a bit --RandomizedDelaySec=30 --# Run 10 minutes after first activated... --OnActiveSec=600 --# ...and at 10-minute intervals thereafter --OnUnitInactiveSec=600 -- --[Install] --WantedBy=timers.target -diff --git a/tests/test_LVHDoISCSISR.py b/tests/test_LVHDoISCSISR.py -index ba668d0..112a9b9 100644 ---- a/tests/test_LVHDoISCSISR.py -+++ b/tests/test_LVHDoISCSISR.py -@@ -4,22 +4,14 @@ import unittest - - import traceback - --from uuid import uuid4 -- - import SR - import LVHDoISCSISR --import iscsilib --from BaseISCSI import BaseISCSISR --import SRCommand --import util - import xs_errors - - import testlib - from shared_iscsi_test_base import ISCSITestCase - from test_ISCSISR import NonInitingISCSISR - --TEST_SR_UUID = 'test_uuid' -- - - class RandomError(Exception): - pass -@@ -126,190 +118,3 @@ class TestLVHDoISCSISR_load(unittest.TestCase): - str(cm.exception), - 'General backend error [opterr=Raise RandomError]' - ) -- -- --class TestLVHDoISCSISR(ISCSITestCase): -- -- TEST_CLASS = 'LVHDoISCSISR' -- -- def setUp(self): -- util_patcher = mock.patch('LVHDoISCSISR.util', autospec=True) -- self.mock_util = util_patcher.start() -- # self.mock_util.SMlog.side_effect = print -- self.mock_util.isVDICommand = util.isVDICommand -- self.mock_util.sessions_less_than_targets = util.sessions_less_than_targets -- -- self.base_srs = set() -- baseiscsi_patcher = mock.patch('LVHDoISCSISR.BaseISCSI.BaseISCSISR', -- autospec=True) -- patched_baseiscsi = baseiscsi_patcher.start() -- patched_baseiscsi.side_effect = self.baseiscsi -- lvhdsr_patcher = mock.patch ('LVHDoISCSISR.LVHDSR') -- -- self.mock_lvhdsr = lvhdsr_patcher.start() -- self.mock_session = mock.MagicMock() -- xenapi_patcher = mock.patch('SR.XenAPI') -- mock_xenapi = xenapi_patcher.start() -- mock_xenapi.xapi_local.return_value = self.mock_session -- -- copy_patcher = mock.patch('LVHDoISCSISR.SR.copy.deepcopy') -- self.mock_copy = copy_patcher.start() -- -- def deepcopy(to_copy): -- return to_copy -- -- self.mock_copy.side_effect = deepcopy -- -- lock_patcher = mock.patch('LVHDSR.Lock') -- self.mock_lock = lock_patcher.start() -- -- self.addCleanup(mock.patch.stopall) -- -- super(TestLVHDoISCSISR, self).setUp() -- -- @property -- def mock_baseiscsi(self): -- assert len(self.base_srs) == 1 -- single_sr = None -- for sr in self.base_srs: -- single_sr = sr -- -- return single_sr -- -- def baseiscsi(self, srcmd, sr_uuid): -- new_baseiscsi = mock.create_autospec(BaseISCSISR) -- local_iqn = srcmd.dconf['localIQN'] -- target_iqn = srcmd.dconf['targetIQN'] -- target = srcmd.dconf['target'] -- new_baseiscsi.localIQN = local_iqn -- new_baseiscsi.targetIQN = target_iqn -- new_baseiscsi.target = target -- new_baseiscsi.path = os.path.join('/dev/iscsi', target_iqn, target) -- new_baseiscsi.port = 3260 -- new_baseiscsi.chapuser = srcmd.dconf.get('chapuser') -- new_baseiscsi.chappassword = srcmd.dconf.get('chappassword') -- new_baseiscsi.incoming_chapuser = srcmd.dconf.get('incoming_chapuser') -- new_baseiscsi.incoming_chappassword = srcmd.dconf.get('incoming_chappassword') -- self.base_srs.add(new_baseiscsi) -- -- return new_baseiscsi -- -- def create_test_sr(self, sr_cmd): -- self.sr_uuid = str(uuid4()) -- self.subject = LVHDoISCSISR.LVHDoISCSISR( -- sr_cmd, self.sr_uuid) -- -- def test_check_sr_pbd_not_found(self): -- # Arrange -- self.mock_util.find_my_pbd.return_value = None -- self.create_test_sr(self.create_sr_command()) -- -- # Act -- self.subject.check_sr(TEST_SR_UUID) -- -- # Assert -- self.mock_util.find_my_pbd.assert_called_with( -- self.mock_session, 'test_host', 'sr_ref') -- -- def test_check_sr_correct_sessions_count(self): -- # Arrange -- self.mock_util.find_my_pbd.return_value = 'my_pbd' -- self.mock_session.xenapi.PBD.get_other_config.return_value = { -- 'iscsi_sessions': 2 -- } -- self.create_test_sr(self.create_sr_command()) -- -- # Act -- self.subject.check_sr(TEST_SR_UUID) -- -- # Assert -- self.mock_session.xenapi.PBD.get_other_config.assert_called_with('my_pbd') -- -- def test_check_sr_not_enough_sessions(self): -- # Arrange -- self.mock_util.find_my_pbd.return_value = 'my_pbd' -- self.mock_session.xenapi.PBD.get_other_config.return_value = { -- 'iscsi_sessions': 1 -- } -- self.create_test_sr(self.create_sr_command()) -- -- # Act -- self.subject.check_sr(TEST_SR_UUID) -- -- # Assert -- self.mock_baseiscsi.attach.assert_called_with( -- TEST_SR_UUID -- ) -- -- def test_sr_attach_multi_session(self): -- # Arrange -- self.mock_util.find_my_pbd.return_value = 'my_pbd' -- additional_dconf = { -- 'multiSession': '10.207.6.60,3260,iqn.2009-11.com.infinidat:storage:infinibox-sn-3393|' -- '10.207.3.65,3260,iqn.2009-11.com.infinidat:storage:infinibox-sn-3394|' -- '10.207.3.61,3260,iqn.2009-11.com.infinidat:storage:infinibox-sn-3393|' -- '10.207.6.61,3260,iqn.2009-11.com.infinidat:storage:infinibox-sn-3393|' -- '10.207.3.63,3260,iqn.2009-11.com.infinidat:storage:infinibox-sn-3394|' -- '10.207.6.62,3260,iqn.2009-11.com.infinidat:storage:infinibox-sn-3393|' -- '10.207.3.62,3260,iqn.2009-11.com.infinidat:storage:infinibox-sn-3393|' -- '10.207.3.60,3260,iqn.2009-11.com.infinidat:storage:infinibox-sn-3393|' -- '10.207.6.64,3260,iqn.2009-11.com.infinidat:storage:infinibox-sn-3394|' -- '10.207.6.65,3260,iqn.2009-11.com.infinidat:storage:infinibox-sn-3394|' -- '10.207.3.64,3260,iqn.2009-11.com.infinidat:storage:infinibox-sn-3394|' -- '10.207.6.63,3260,iqn.2009-11.com.infinidat:storage:infinibox-sn-3394|' -- } -- -- tpg_data = [ -- [ -- ('10.207.3.60:3260', 1, 'iqn.2009-11.com.infinidat:storage:infinibox-sn-3393'), -- ('10.207.3.61:3260', 1, 'iqn.2009-11.com.infinidat:storage:infinibox-sn-3393'), -- ('10.207.3.62:3260', 1, 'iqn.2009-11.com.infinidat:storage:infinibox-sn-3393')], -- [ -- ('10.207.3.63:3260', 1, 'iqn.2009-11.com.infinidat:storage:infinibox-sn-3394'), -- ('10.207.3.64:3260', 1, 'iqn.2009-11.com.infinidat:storage:infinibox-sn-3394'), -- ('10.207.3.65:3260', 1, 'iqn.2009-11.com.infinidat:storage:infinibox-sn-3394')], -- [ -- ('10.207.6.60:3260', 2, 'iqn.2009-11.com.infinidat:storage:infinibox-sn-3393'), -- ('10.207.6.61:3260', 2, 'iqn.2009-11.com.infinidat:storage:infinibox-sn-3393'), -- ('10.207.6.62:3260', 2, 'iqn.2009-11.com.infinidat:storage:infinibox-sn-3393') -- ], -- [ -- ('10.207.6.63:3260', 2, 'iqn.2009-11.com.infinidat:storage:infinibox-sn-3394'), -- ('10.207.6.64:3260', 2, 'iqn.2009-11.com.infinidat:storage:infinibox-sn-3394'), -- ('10.207.6.65:3260', 2, 'iqn.2009-11.com.infinidat:storage:infinibox-sn-3394') -- ] -- ] -- -- self.discovery_data = { -- '10.207.3.60': tpg_data[0], -- '10.207.3.61': tpg_data[0], -- '10.207.3.62': tpg_data[0], -- '10.207.3.63': tpg_data[1], -- '10.207.3.64': tpg_data[1], -- '10.207.3.65': tpg_data[1], -- '10.207.6.60': tpg_data[2], -- '10.207.6.61': tpg_data[2], -- '10.207.6.62': tpg_data[2], -- '10.207.6.63': tpg_data[3], -- '10.207.6.64': tpg_data[3], -- '10.207.6.65': tpg_data[3] -- } -- -- # Create SR -- self.create_test_sr(self.create_sr_command( -- additional_dconf=additional_dconf, -- cmd='sr_attach', -- target_iqn='*')) -- -- # Act -- self.subject.attach(TEST_SR_UUID) -- -- # Assert -- # print(f"iscsilib calls {self.mock_iscsilib.mock_calls}") -- attach_count = 0 -- for sr in self.base_srs: -- attach_count += sr.attach.call_count -- -- self.assertEqual(12, attach_count) -- self.assertEqual(12, self.mock_iscsilib.discovery.call_count) -- self.assertEqual(12, self.mock_iscsilib.login.call_count) -diff --git a/tests/test_sr_health_check.py b/tests/test_sr_health_check.py -deleted file mode 100644 -index 2a59ac8..0000000 ---- a/tests/test_sr_health_check.py -+++ /dev/null -@@ -1,95 +0,0 @@ --import mock --import unittest -- --import sr_health_check --from SR import SR -- --TEST_HOST = 'test_host' -- --SR_UUID = 'sr uuid' -- -- --class TestSrHealthCheck(unittest.TestCase): -- -- def setUp(self): -- util_patcher = mock.patch('sr_health_check.util') -- self.mock_util = util_patcher.start() -- self.mock_session = mock.MagicMock() -- self.mock_util.get_localAPI_session.return_value = self.mock_session -- sr_patcher = mock.patch('sr_health_check.SR.SR', autospec=True) -- self.mock_sr = sr_patcher.start() -- -- self.addCleanup(mock.patch.stopall) -- -- def expect_good_sr_record(self): -- self.mock_session.xenapi.SR.get_all_records_where.return_value = { -- "iscsi_ref": {'uuid': SR_UUID, 'host': TEST_HOST} -- } -- -- def expect_good_localhost(self): -- self.mock_util.get_localhost_uuid.return_value = TEST_HOST -- -- def expect_good_sm_types(self): -- self.mock_session.xenapi.SM.get_all_records_where.return_value = { -- 'lvmoiscsi_type_ref': {'type': 'lvmoiscsi'} -- } -- -- def test_health_check_no_srs(self): -- # Arrange -- self.expect_good_sm_types() -- self.mock_session.xenapi.SR.get_all_records_where.return_value = {} -- -- # Act -- sr_health_check.main() -- -- # Assert -- self.mock_session.xenapi.SR.get_all_records_where.assert_called() -- -- def test_health_check_no_local_pbd(self): -- # Arrange -- self.expect_good_localhost() -- self.expect_good_sm_types() -- self.expect_good_sr_record() -- self.mock_session.xenapi.PBD.get_all_records_where.return_value = {} -- -- # Act -- sr_health_check.main() -- -- # Assert -- self.mock_session.xenapi.PBD.get_all_records_where.assert_called_with( -- 'field "SR" = "iscsi_ref" and field "host" = "{TEST_HOST}"'.format( -- TEST_HOST=TEST_HOST)) -- -- def test_health_check_sr_not_plugged(self): -- # Arrange -- self.expect_good_localhost() -- self.expect_good_sm_types() -- self.expect_good_sr_record() -- self.mock_session.xenapi.PBD.get_all_records_where.return_value = { -- 'pbd_ref': {'currently_attached': False} -- } -- -- # Act -- sr_health_check.main() -- -- # Assert -- self.mock_session.xenapi.PBD.get_all_records_where.assert_called_with( -- 'field "SR" = "iscsi_ref" and field "host" = "{TEST_HOST}"'.format( -- TEST_HOST=TEST_HOST)) -- -- def test_health_check_run_sr_check(self): -- # Arrange -- self.expect_good_localhost() -- self.expect_good_sm_types() -- self.expect_good_sr_record() -- self.mock_session.xenapi.PBD.get_all_records_where.return_value = { -- 'pbd_ref': {'currently_attached': True} -- } -- mock_sr = mock.create_autospec(SR) -- self.mock_sr.from_uuid.return_value = mock_sr -- -- # Act -- sr_health_check.main() -- -- # Assert -- mock_sr.check_sr.assert_called_with(SR_UUID) --- -2.46.0 - diff --git a/SOURCES/0026-timeout_call-returns-the-result-of-user-function-now.patch b/SOURCES/0025-timeout_call-returns-the-result-of-user-function-now.patch similarity index 77% rename from SOURCES/0026-timeout_call-returns-the-result-of-user-function-now.patch rename to SOURCES/0025-timeout_call-returns-the-result-of-user-function-now.patch index 821dcb9f..a8d478f4 100644 --- a/SOURCES/0026-timeout_call-returns-the-result-of-user-function-now.patch +++ b/SOURCES/0025-timeout_call-returns-the-result-of-user-function-now.patch @@ -1,7 +1,7 @@ -From 608866667c3f834f5a8128f0e646b494dbfda73f Mon Sep 17 00:00:00 2001 +From 6bbce49d010a75e9e33d557de4ffe416c2dfac4a Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Wed, 16 Feb 2022 18:28:06 +0100 -Subject: [PATCH 026/178] timeout_call returns the result of user function now +Subject: [PATCH 025/177] timeout_call returns the result of user function now Signed-off-by: Ronan Abhamon --- @@ -9,7 +9,7 @@ Signed-off-by: Ronan Abhamon 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/util.py b/drivers/util.py -index 77f3f19..54fda46 100755 +index 77f3f190..54fda469 100755 --- a/drivers/util.py +++ b/drivers/util.py @@ -851,7 +851,7 @@ def timeout_call(timeoutseconds, function, *arguments): @@ -21,6 +21,3 @@ index 77f3f19..54fda46 100755 finally: signal.alarm(0) --- -2.46.0 - diff --git a/SOURCES/0027-Always-remove-the-pause-tag-from-VDIs-in-case-of-fai.patch b/SOURCES/0026-Always-remove-the-pause-tag-from-VDIs-in-case-of-fai.patch similarity index 93% rename from SOURCES/0027-Always-remove-the-pause-tag-from-VDIs-in-case-of-fai.patch rename to SOURCES/0026-Always-remove-the-pause-tag-from-VDIs-in-case-of-fai.patch index 37c567a6..05d70ced 100644 --- a/SOURCES/0027-Always-remove-the-pause-tag-from-VDIs-in-case-of-fai.patch +++ b/SOURCES/0026-Always-remove-the-pause-tag-from-VDIs-in-case-of-fai.patch @@ -1,7 +1,7 @@ -From e2533c00ebd0e76502dd3b8e4b57bae3e271e19e Mon Sep 17 00:00:00 2001 +From 07be87fc8c3e038f73917ef166c237c3fbe25de4 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Mon, 5 Feb 2024 23:16:16 +0100 -Subject: [PATCH 027/178] Always remove the pause tag from VDIs in case of +Subject: [PATCH 026/177] Always remove the pause tag from VDIs in case of failure During VDI activation in the blktap module and in case of failure @@ -16,7 +16,7 @@ Signed-off-by: Ronan Abhamon 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/drivers/blktap2.py b/drivers/blktap2.py -index e1f75e9..e9305ce 100755 +index e1f75e9f..e9305ce9 100755 --- a/drivers/blktap2.py +++ b/drivers/blktap2.py @@ -1599,20 +1599,24 @@ class VDI(object): @@ -53,6 +53,3 @@ index e1f75e9..e9305ce 100755 util.fistpoint.activate_custom_fn( "blktap_activate_inject_failure", lambda: util.inject_failure()) --- -2.46.0 - diff --git a/SOURCES/0028-fix-LinstorSR-repair-volumes-only-if-an-exclusive-co.patch b/SOURCES/0027-fix-LinstorSR-repair-volumes-only-if-an-exclusive-co.patch similarity index 87% rename from SOURCES/0028-fix-LinstorSR-repair-volumes-only-if-an-exclusive-co.patch rename to SOURCES/0027-fix-LinstorSR-repair-volumes-only-if-an-exclusive-co.patch index 0f61727f..5af4f25e 100644 --- a/SOURCES/0028-fix-LinstorSR-repair-volumes-only-if-an-exclusive-co.patch +++ b/SOURCES/0027-fix-LinstorSR-repair-volumes-only-if-an-exclusive-co.patch @@ -1,7 +1,7 @@ -From 2f5bef7771d539e57b314ccb34a51fa91c62582c Mon Sep 17 00:00:00 2001 +From a2bb5cc7ffdf98cfa26c8da10267eb80648a3ae3 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Fri, 20 Nov 2020 16:42:52 +0100 -Subject: [PATCH 028/178] fix(LinstorSR): repair volumes only if an exclusive +Subject: [PATCH 027/177] fix(LinstorSR): repair volumes only if an exclusive command is executed Signed-off-by: Ronan Abhamon @@ -10,7 +10,7 @@ Signed-off-by: Ronan Abhamon 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/drivers/LinstorSR.py b/drivers/LinstorSR.py -index 8be1836..a5bf5ab 100755 +index 8be18367..a5bf5abd 100755 --- a/drivers/LinstorSR.py +++ b/drivers/LinstorSR.py @@ -388,10 +388,16 @@ class LinstorSR(SR.SR): @@ -31,6 +31,3 @@ index 8be1836..a5bf5ab 100755 logger=util.SMlog ) self._vhdutil = LinstorVhdUtil(self.session, self._linstor) --- -2.46.0 - diff --git a/SOURCES/0029-feat-LinstorSR-Improve-LINSTOR-performance.patch b/SOURCES/0028-feat-LinstorSR-Improve-LINSTOR-performance.patch similarity index 99% rename from SOURCES/0029-feat-LinstorSR-Improve-LINSTOR-performance.patch rename to SOURCES/0028-feat-LinstorSR-Improve-LINSTOR-performance.patch index a18f9fa4..aca0ba1f 100644 --- a/SOURCES/0029-feat-LinstorSR-Improve-LINSTOR-performance.patch +++ b/SOURCES/0028-feat-LinstorSR-Improve-LINSTOR-performance.patch @@ -1,7 +1,7 @@ -From fa6b3dcb7cc88a68152282bd9943cbc71a8c8b97 Mon Sep 17 00:00:00 2001 +From 5043741c54b6660a5331c35d4a63379941f0feac Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Thu, 10 Dec 2020 17:56:15 +0100 -Subject: [PATCH 029/178] feat(LinstorSR): Improve LINSTOR performance +Subject: [PATCH 028/177] feat(LinstorSR): Improve LINSTOR performance Details: - vdi_attach and vdi_detach are now exclusive @@ -25,7 +25,7 @@ Signed-off-by: Ronan Abhamon 5 files changed, 463 insertions(+), 238 deletions(-) diff --git a/drivers/LinstorSR.py b/drivers/LinstorSR.py -index a5bf5ab..548f4b1 100755 +index a5bf5abd..548f4b17 100755 --- a/drivers/LinstorSR.py +++ b/drivers/LinstorSR.py @@ -92,7 +92,8 @@ DRIVER_CONFIG = {'ATTACH_FROM_CONFIG_WITH_TAPDISK': False} @@ -371,7 +371,7 @@ index a5bf5ab..548f4b1 100755 ) diff --git a/drivers/cleanup.py b/drivers/cleanup.py -index 926525f..895f36e 100755 +index 926525f1..895f36e8 100755 --- a/drivers/cleanup.py +++ b/drivers/cleanup.py @@ -449,7 +449,7 @@ class XAPI: @@ -508,7 +508,7 @@ index 926525f..895f36e 100755 def _checkSlaves(self, vdi): diff --git a/drivers/linstor-manager b/drivers/linstor-manager -index f7ce180..e7e58fd 100755 +index f7ce1809..e7e58fd8 100755 --- a/drivers/linstor-manager +++ b/drivers/linstor-manager @@ -118,7 +118,9 @@ def detach(session, args): @@ -543,7 +543,7 @@ index f7ce180..e7e58fd 100755 return str(False) diff --git a/drivers/linstorvhdutil.py b/drivers/linstorvhdutil.py -index f31c752..ac85837 100644 +index f31c7525..ac858371 100644 --- a/drivers/linstorvhdutil.py +++ b/drivers/linstorvhdutil.py @@ -89,13 +89,33 @@ def linstorhostcall(local_method, remote_method): @@ -625,7 +625,7 @@ index f31c752..ac85837 100644 # Helpers. # -------------------------------------------------------------------------- diff --git a/drivers/linstorvolumemanager.py b/drivers/linstorvolumemanager.py -index d400421..d617655 100755 +index d4004217..d617655f 100755 --- a/drivers/linstorvolumemanager.py +++ b/drivers/linstorvolumemanager.py @@ -63,6 +63,16 @@ class LinstorVolumeManager(object): @@ -1416,6 +1416,3 @@ index d400421..d617655 100755 def _get_store_name(self): return 'xcp-sr-{}'.format(self._group_name) --- -2.46.0 - diff --git a/SOURCES/0030-feat-LinstorSR-robustify-scan-to-avoid-losing-VDIs-i.patch b/SOURCES/0029-feat-LinstorSR-robustify-scan-to-avoid-losing-VDIs-i.patch similarity index 94% rename from SOURCES/0030-feat-LinstorSR-robustify-scan-to-avoid-losing-VDIs-i.patch rename to SOURCES/0029-feat-LinstorSR-robustify-scan-to-avoid-losing-VDIs-i.patch index 7087f603..05eb863a 100644 --- a/SOURCES/0030-feat-LinstorSR-robustify-scan-to-avoid-losing-VDIs-i.patch +++ b/SOURCES/0029-feat-LinstorSR-robustify-scan-to-avoid-losing-VDIs-i.patch @@ -1,7 +1,7 @@ -From 7492a4f950f109830dc7b48adee93f0fce76027d Mon Sep 17 00:00:00 2001 +From 38fc18847509ef665d61d75aa6197eb6af2ef705 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Thu, 7 Jan 2021 11:17:08 +0100 -Subject: [PATCH 030/178] feat(LinstorSR): robustify scan to avoid losing VDIs +Subject: [PATCH 029/177] feat(LinstorSR): robustify scan to avoid losing VDIs if function is called outside module Signed-off-by: Ronan Abhamon @@ -10,7 +10,7 @@ Signed-off-by: Ronan Abhamon 1 file changed, 21 insertions(+), 9 deletions(-) diff --git a/drivers/LinstorSR.py b/drivers/LinstorSR.py -index 548f4b1..52131a5 100755 +index 548f4b17..52131a59 100755 --- a/drivers/LinstorSR.py +++ b/drivers/LinstorSR.py @@ -325,6 +325,7 @@ class LinstorSR(SR.SR): @@ -86,6 +86,3 @@ index 548f4b1..52131a5 100755 has_clone_entries = list(self._journaler.get_all( LinstorJournaler.CLONE ).items()) --- -2.46.0 - diff --git a/SOURCES/0031-feat-LinstorSR-display-a-correctly-readable-size-for.patch b/SOURCES/0030-feat-LinstorSR-display-a-correctly-readable-size-for.patch similarity index 98% rename from SOURCES/0031-feat-LinstorSR-display-a-correctly-readable-size-for.patch rename to SOURCES/0030-feat-LinstorSR-display-a-correctly-readable-size-for.patch index 02ff3705..b6c30377 100644 --- a/SOURCES/0031-feat-LinstorSR-display-a-correctly-readable-size-for.patch +++ b/SOURCES/0030-feat-LinstorSR-display-a-correctly-readable-size-for.patch @@ -1,7 +1,7 @@ -From 0569b8b07776f203532c856d8cf92e7fe4957300 Mon Sep 17 00:00:00 2001 +From 1144d63c710134af5caeefa4c69b07e43e01c3ca Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Fri, 8 Jan 2021 16:12:15 +0100 -Subject: [PATCH 031/178] feat(LinstorSR): display a correctly readable size +Subject: [PATCH 030/177] feat(LinstorSR): display a correctly readable size for the user Signed-off-by: Ronan Abhamon @@ -11,7 +11,7 @@ Signed-off-by: Ronan Abhamon 2 files changed, 83 insertions(+), 35 deletions(-) diff --git a/drivers/LinstorSR.py b/drivers/LinstorSR.py -index 52131a5..16cb0d6 100755 +index 52131a59..16cb0d62 100755 --- a/drivers/LinstorSR.py +++ b/drivers/LinstorSR.py @@ -770,27 +770,19 @@ class LinstorSR(SR.SR): @@ -155,7 +155,7 @@ index 52131a5..16cb0d6 100755 # 10. Return info on the new user-visible leaf VDI. ret_vdi = snap_vdi diff --git a/drivers/linstorvolumemanager.py b/drivers/linstorvolumemanager.py -index d617655..a6f67d8 100755 +index d617655f..a6f67d8d 100755 --- a/drivers/linstorvolumemanager.py +++ b/drivers/linstorvolumemanager.py @@ -131,20 +131,19 @@ class LinstorVolumeManager(object): @@ -276,6 +276,3 @@ index d617655..a6f67d8 100755 current.virtual_size *= 1024 self._volume_info_cache_dirty = False --- -2.46.0 - diff --git a/SOURCES/0032-feat-linstor-monitord-scan-all-LINSTOR-SRs-every-12-.patch b/SOURCES/0031-feat-linstor-monitord-scan-all-LINSTOR-SRs-every-12-.patch similarity index 98% rename from SOURCES/0032-feat-linstor-monitord-scan-all-LINSTOR-SRs-every-12-.patch rename to SOURCES/0031-feat-linstor-monitord-scan-all-LINSTOR-SRs-every-12-.patch index cb6c8e64..b29ee5ca 100644 --- a/SOURCES/0032-feat-linstor-monitord-scan-all-LINSTOR-SRs-every-12-.patch +++ b/SOURCES/0031-feat-linstor-monitord-scan-all-LINSTOR-SRs-every-12-.patch @@ -1,7 +1,7 @@ -From e5d09d4036b314c4f2b3fbfa148d367ef319841e Mon Sep 17 00:00:00 2001 +From 8ec7804c73380e0a56892f9f5b5607f7ef589923 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Tue, 12 Jan 2021 14:06:34 +0100 -Subject: [PATCH 032/178] feat(linstor-monitord): scan all LINSTOR SRs every 12 +Subject: [PATCH 031/177] feat(linstor-monitord): scan all LINSTOR SRs every 12 minutes to update allocated size stats Signed-off-by: Ronan Abhamon @@ -10,7 +10,7 @@ Signed-off-by: Ronan Abhamon 1 file changed, 171 insertions(+), 23 deletions(-) diff --git a/linstor/linstor-monitord.c b/linstor/linstor-monitord.c -index 8161813..a1592fd 100644 +index 8161813d..a1592fda 100644 --- a/linstor/linstor-monitord.c +++ b/linstor/linstor-monitord.c @@ -14,8 +14,10 @@ @@ -330,6 +330,3 @@ index 8161813..a1592fd 100644 }; const int inotifyFd = createInotifyInstance(); --- -2.46.0 - diff --git a/SOURCES/0033-fix-LinstorSR-call-correctly-method-in-_locked_load-.patch b/SOURCES/0032-fix-LinstorSR-call-correctly-method-in-_locked_load-.patch similarity index 89% rename from SOURCES/0033-fix-LinstorSR-call-correctly-method-in-_locked_load-.patch rename to SOURCES/0032-fix-LinstorSR-call-correctly-method-in-_locked_load-.patch index 29ff1f32..2cb9909d 100644 --- a/SOURCES/0033-fix-LinstorSR-call-correctly-method-in-_locked_load-.patch +++ b/SOURCES/0032-fix-LinstorSR-call-correctly-method-in-_locked_load-.patch @@ -1,7 +1,7 @@ -From 3fd04d9be881f7ea2c978ba93e4dae3695d3cb74 Mon Sep 17 00:00:00 2001 +From 592bd07f4df4f1976511cbe09031f5c43468fc17 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Fri, 15 Jan 2021 17:01:05 +0100 -Subject: [PATCH 033/178] fix(LinstorSR): call correctly method in _locked_load +Subject: [PATCH 032/177] fix(LinstorSR): call correctly method in _locked_load when vdi_attach_from_config is executed Signed-off-by: Ronan Abhamon @@ -10,7 +10,7 @@ Signed-off-by: Ronan Abhamon 1 file changed, 6 insertions(+), 13 deletions(-) diff --git a/drivers/LinstorSR.py b/drivers/LinstorSR.py -index 16cb0d6..2df2d68 100755 +index 16cb0d62..2df2d681 100755 --- a/drivers/LinstorSR.py +++ b/drivers/LinstorSR.py @@ -347,19 +347,12 @@ class LinstorSR(SR.SR): @@ -39,6 +39,3 @@ index 16cb0d6..2df2d68 100755 self._master_uri = 'linstor://{}'.format( util.get_master_rec(self.session)['address'] --- -2.46.0 - diff --git a/SOURCES/0034-feat-LinstorSR-integrate-minidrbdcluster-daemon.patch b/SOURCES/0033-feat-LinstorSR-integrate-minidrbdcluster-daemon.patch similarity index 98% rename from SOURCES/0034-feat-LinstorSR-integrate-minidrbdcluster-daemon.patch rename to SOURCES/0033-feat-LinstorSR-integrate-minidrbdcluster-daemon.patch index b17acc50..ce0f22d8 100644 --- a/SOURCES/0034-feat-LinstorSR-integrate-minidrbdcluster-daemon.patch +++ b/SOURCES/0033-feat-LinstorSR-integrate-minidrbdcluster-daemon.patch @@ -1,7 +1,7 @@ -From f815b2bde1959d8342c5e009e7d739b10b1845ed Mon Sep 17 00:00:00 2001 +From 6845d1441c22ca5e5145af82669416a48a5a813e Mon Sep 17 00:00:00 2001 From: Wescoeur Date: Wed, 20 Jan 2021 18:04:26 +0100 -Subject: [PATCH 034/178] feat(LinstorSR): integrate minidrbdcluster daemon +Subject: [PATCH 033/177] feat(LinstorSR): integrate minidrbdcluster daemon Now, we can: - Start a controller on any node @@ -33,10 +33,10 @@ Signed-off-by: Ronan Abhamon create mode 100644 systemd/minidrbdcluster.service diff --git a/Makefile b/Makefile -index c746fcf..2b4940f 100755 +index 284b9a39..43dd5692 100755 --- a/Makefile +++ b/Makefile -@@ -91,6 +91,7 @@ PLUGIN_SCRIPT_DEST := /etc/xapi.d/plugins/ +@@ -92,6 +92,7 @@ PLUGIN_SCRIPT_DEST := /etc/xapi.d/plugins/ LIBEXEC := /opt/xensource/libexec/ UDEV_RULES_DIR := /etc/udev/rules.d/ UDEV_SCRIPTS_DIR := /etc/udev/scripts/ @@ -44,7 +44,7 @@ index c746fcf..2b4940f 100755 SYSTEMD_SERVICE_DIR := /usr/lib/systemd/system/ INIT_DIR := /etc/rc.d/init.d/ MPATH_CONF_DIR := /etc/multipath.xenserver/ -@@ -98,6 +99,7 @@ MPATH_CUSTOM_CONF_DIR := /etc/multipath/conf.d/ +@@ -99,6 +100,7 @@ MPATH_CUSTOM_CONF_DIR := /etc/multipath/conf.d/ MODPROBE_DIR := /etc/modprobe.d/ EXTENSION_SCRIPT_DEST := /etc/xapi.d/extensions/ LOGROTATE_DIR := /etc/logrotate.d/ @@ -52,7 +52,7 @@ index c746fcf..2b4940f 100755 SM_STAGING := $(DESTDIR) SM_STAMP := $(MY_OBJ_DIR)/.staging_stamp -@@ -146,11 +148,14 @@ install: precheck +@@ -147,11 +149,14 @@ install: precheck mkdir -p $(SM_STAGING)$(UDEV_RULES_DIR) mkdir -p $(SM_STAGING)$(UDEV_SCRIPTS_DIR) mkdir -p $(SM_STAGING)$(INIT_DIR) @@ -67,7 +67,7 @@ index c746fcf..2b4940f 100755 mkdir -p $(SM_STAGING)$(DEBUG_DEST) mkdir -p $(SM_STAGING)$(BIN_DEST) mkdir -p $(SM_STAGING)$(MASTER_SCRIPT_DEST) -@@ -174,6 +179,12 @@ install: precheck +@@ -175,6 +180,12 @@ install: precheck $(SM_STAGING)/$(SM_DEST) install -m 644 etc/logrotate.d/$(SMLOG_CONF) \ $(SM_STAGING)/$(LOGROTATE_DIR) @@ -80,7 +80,7 @@ index c746fcf..2b4940f 100755 install -m 644 etc/make-dummy-sr.service \ $(SM_STAGING)/$(SYSTEMD_SERVICE_DIR) install -m 644 systemd/xs-sm.service \ -@@ -188,6 +199,8 @@ install: precheck +@@ -193,6 +204,8 @@ install: precheck $(SM_STAGING)/$(SYSTEMD_SERVICE_DIR) install -m 644 systemd/linstor-monitor.service \ $(SM_STAGING)/$(SYSTEMD_SERVICE_DIR) @@ -89,7 +89,7 @@ index c746fcf..2b4940f 100755 for i in $(UDEV_RULES); do \ install -m 644 udev/$$i.rules \ $(SM_STAGING)$(UDEV_RULES_DIR); done -@@ -237,6 +250,7 @@ install: precheck +@@ -242,6 +255,7 @@ install: precheck install -m 755 scripts/xe-getlunidentifier $(SM_STAGING)$(BIN_DEST) install -m 755 scripts/make-dummy-sr $(SM_STAGING)$(LIBEXEC) install -m 755 scripts/storage-init $(SM_STAGING)$(LIBEXEC) @@ -98,7 +98,7 @@ index c746fcf..2b4940f 100755 .PHONY: clean clean: diff --git a/drivers/LinstorSR.py b/drivers/LinstorSR.py -index 2df2d68..9650d71 100755 +index 2df2d681..9650d712 100755 --- a/drivers/LinstorSR.py +++ b/drivers/LinstorSR.py @@ -19,8 +19,11 @@ from constants import CBTLOG_TAG @@ -504,7 +504,7 @@ index 2df2d68..9650d71 100755 # Reload size attrs after inflate or deflate! self._load_this() diff --git a/drivers/cleanup.py b/drivers/cleanup.py -index 895f36e..9e3a5b0 100755 +index 895f36e8..9e3a5b07 100755 --- a/drivers/cleanup.py +++ b/drivers/cleanup.py @@ -52,8 +52,10 @@ from srmetadata import LVMMetadataHandler, VDI_TYPE_TAG @@ -545,7 +545,7 @@ index 895f36e..9e3a5b0 100755 repair=True, logger=util.SMlog diff --git a/drivers/linstor-manager b/drivers/linstor-manager -index e7e58fd..f82b73f 100755 +index e7e58fd8..f82b73f2 100755 --- a/drivers/linstor-manager +++ b/drivers/linstor-manager @@ -22,7 +22,7 @@ import XenAPIPlugin @@ -745,7 +745,7 @@ index e7e58fd..f82b73f 100755 'getVHDInfo': get_vhd_info, 'hasParent': has_parent, diff --git a/drivers/linstorjournaler.py b/drivers/linstorjournaler.py -index 7495330..285012c 100755 +index 74953305..285012ca 100755 --- a/drivers/linstorjournaler.py +++ b/drivers/linstorjournaler.py @@ -16,7 +16,7 @@ @@ -811,7 +811,7 @@ index 7495330..285012c 100755 def _get_key(type, identifier): return '{}/{}'.format(type, identifier) diff --git a/drivers/linstorvolumemanager.py b/drivers/linstorvolumemanager.py -index a6f67d8..a383e32 100755 +index a6f67d8d..a383e327 100755 --- a/drivers/linstorvolumemanager.py +++ b/drivers/linstorvolumemanager.py @@ -16,15 +16,30 @@ @@ -1712,7 +1712,7 @@ index a6f67d8..a383e32 100755 + .format(volume_path, mountpoint, e) + ) diff --git a/drivers/tapdisk-pause b/drivers/tapdisk-pause -index ed6abed..e0bca7b 100755 +index ed6abede..e0bca7be 100755 --- a/drivers/tapdisk-pause +++ b/drivers/tapdisk-pause @@ -30,7 +30,7 @@ import vhdutil @@ -1745,7 +1745,7 @@ index ed6abed..e0bca7b 100755 logger=util.SMlog ).get_device_path(self.vdi_uuid) diff --git a/drivers/util.py b/drivers/util.py -index 54fda46..7151f36 100755 +index 54fda469..7151f368 100755 --- a/drivers/util.py +++ b/drivers/util.py @@ -659,31 +659,10 @@ def get_master_ref(session): @@ -1782,7 +1782,7 @@ index 54fda46..7151f36 100755 filename = '/etc/xensource-inventory' diff --git a/etc/minidrbdcluster.ini b/etc/minidrbdcluster.ini new file mode 100644 -index 0000000..0126e86 +index 00000000..0126e862 --- /dev/null +++ b/etc/minidrbdcluster.ini @@ -0,0 +1,14 @@ @@ -1802,7 +1802,7 @@ index 0000000..0126e86 +systemd-units= diff --git a/etc/systemd/system/linstor-satellite.service.d/override.conf b/etc/systemd/system/linstor-satellite.service.d/override.conf new file mode 100644 -index 0000000..b1686b4 +index 00000000..b1686b4f --- /dev/null +++ b/etc/systemd/system/linstor-satellite.service.d/override.conf @@ -0,0 +1,5 @@ @@ -1813,7 +1813,7 @@ index 0000000..b1686b4 +After=drbd.service diff --git a/etc/systemd/system/var-lib-linstor.mount b/etc/systemd/system/var-lib-linstor.mount new file mode 100644 -index 0000000..a05a7f7 +index 00000000..a05a7f74 --- /dev/null +++ b/etc/systemd/system/var-lib-linstor.mount @@ -0,0 +1,6 @@ @@ -1824,7 +1824,7 @@ index 0000000..a05a7f7 +What=/dev/drbd/by-res/xcp-persistent-database/0 +Where=/var/lib/linstor diff --git a/linstor/linstor-monitord.c b/linstor/linstor-monitord.c -index a1592fd..4774059 100644 +index a1592fda..47740598 100644 --- a/linstor/linstor-monitord.c +++ b/linstor/linstor-monitord.c @@ -287,18 +287,6 @@ static inline int addInotifyWatch (int inotifyFd, const char *filepath, uint32_t @@ -1865,7 +1865,7 @@ index a1592fd..4774059 100644 // Maybe the file doesn't exist. Waiting its creation... diff --git a/scripts/minidrbdcluster b/scripts/minidrbdcluster new file mode 100755 -index 0000000..a04b6c1 +index 00000000..a04b6c1c --- /dev/null +++ b/scripts/minidrbdcluster @@ -0,0 +1,171 @@ @@ -2042,7 +2042,7 @@ index 0000000..a04b6c1 + main() diff --git a/systemd/minidrbdcluster.service b/systemd/minidrbdcluster.service new file mode 100644 -index 0000000..3de6ac4 +index 00000000..3de6ac4f --- /dev/null +++ b/systemd/minidrbdcluster.service @@ -0,0 +1,18 @@ @@ -2064,6 +2064,3 @@ index 0000000..3de6ac4 + +[Install] +WantedBy=multi-user.target --- -2.46.0 - diff --git a/SOURCES/0035-feat-LinstorSR-ensure-heartbeat-and-redo_log-VDIs-ar.patch b/SOURCES/0034-feat-LinstorSR-ensure-heartbeat-and-redo_log-VDIs-ar.patch similarity index 96% rename from SOURCES/0035-feat-LinstorSR-ensure-heartbeat-and-redo_log-VDIs-ar.patch rename to SOURCES/0034-feat-LinstorSR-ensure-heartbeat-and-redo_log-VDIs-ar.patch index 3be31a6f..2fb68db5 100644 --- a/SOURCES/0035-feat-LinstorSR-ensure-heartbeat-and-redo_log-VDIs-ar.patch +++ b/SOURCES/0034-feat-LinstorSR-ensure-heartbeat-and-redo_log-VDIs-ar.patch @@ -1,7 +1,7 @@ -From 7eaa8b7d67bd1704b2c8d6537703ed30f5e4303d Mon Sep 17 00:00:00 2001 +From 4133881ed07374f0c6b6a8106f09a3bde9266413 Mon Sep 17 00:00:00 2001 From: Wescoeur Date: Wed, 24 Feb 2021 11:17:23 +0100 -Subject: [PATCH 035/178] feat(LinstorSR): ensure heartbeat and redo_log VDIs +Subject: [PATCH 034/177] feat(LinstorSR): ensure heartbeat and redo_log VDIs are not diskless Signed-off-by: Ronan Abhamon @@ -11,7 +11,7 @@ Signed-off-by: Ronan Abhamon 2 files changed, 86 insertions(+), 13 deletions(-) diff --git a/drivers/LinstorSR.py b/drivers/LinstorSR.py -index 9650d71..d943d49 100755 +index 9650d712..d943d49e 100755 --- a/drivers/LinstorSR.py +++ b/drivers/LinstorSR.py @@ -1463,7 +1463,7 @@ class LinstorVDI(VDI.VDI): @@ -24,7 +24,7 @@ index 9650d71..d943d49 100755 volume_info = self._linstor.get_volume_info(self.uuid) diff --git a/drivers/linstorvolumemanager.py b/drivers/linstorvolumemanager.py -index a383e32..d8d64b4 100755 +index a383e327..d8d64b4a 100755 --- a/drivers/linstorvolumemanager.py +++ b/drivers/linstorvolumemanager.py @@ -468,7 +468,8 @@ class LinstorVolumeManager(object): @@ -163,6 +163,3 @@ index a383e32..d8d64b4 100755 ) assert volume_properties.namespace == \ --- -2.46.0 - diff --git a/SOURCES/0036-feat-LinstorSR-protect-sr-commands-to-avoid-forgetti.patch b/SOURCES/0035-feat-LinstorSR-protect-sr-commands-to-avoid-forgetti.patch similarity index 97% rename from SOURCES/0036-feat-LinstorSR-protect-sr-commands-to-avoid-forgetti.patch rename to SOURCES/0035-feat-LinstorSR-protect-sr-commands-to-avoid-forgetti.patch index 9672e481..a0688033 100644 --- a/SOURCES/0036-feat-LinstorSR-protect-sr-commands-to-avoid-forgetti.patch +++ b/SOURCES/0035-feat-LinstorSR-protect-sr-commands-to-avoid-forgetti.patch @@ -1,7 +1,7 @@ -From 957fb9efcf9e31071ce90563fae78ce17a5c6aa6 Mon Sep 17 00:00:00 2001 +From 8ba97d6102aa80f61c9de1767c93b638b927693b Mon Sep 17 00:00:00 2001 From: Wescoeur Date: Thu, 25 Feb 2021 17:52:57 +0100 -Subject: [PATCH 036/178] feat(LinstorSR): protect sr commands to avoid +Subject: [PATCH 035/177] feat(LinstorSR): protect sr commands to avoid forgetting LINSTOR volumes when master satellite is down Steps to reproduce: @@ -52,7 +52,7 @@ Signed-off-by: Ronan Abhamon 1 file changed, 37 insertions(+), 10 deletions(-) diff --git a/drivers/LinstorSR.py b/drivers/LinstorSR.py -index d943d49..092f5e8 100755 +index d943d49e..092f5e8e 100755 --- a/drivers/LinstorSR.py +++ b/drivers/LinstorSR.py @@ -256,6 +256,11 @@ class LinstorSR(SR.SR): @@ -161,6 +161,3 @@ index d943d49..092f5e8 100755 self._undo_all_journal_transactions() def _load_vdis_ex(self): --- -2.46.0 - diff --git a/SOURCES/0037-fix-LinstorJournaler-ensure-uri-is-not-None-during-l.patch b/SOURCES/0036-fix-LinstorJournaler-ensure-uri-is-not-None-during-l.patch similarity index 90% rename from SOURCES/0037-fix-LinstorJournaler-ensure-uri-is-not-None-during-l.patch rename to SOURCES/0036-fix-LinstorJournaler-ensure-uri-is-not-None-during-l.patch index 42bc422f..21ad2bf0 100644 --- a/SOURCES/0037-fix-LinstorJournaler-ensure-uri-is-not-None-during-l.patch +++ b/SOURCES/0036-fix-LinstorJournaler-ensure-uri-is-not-None-during-l.patch @@ -1,7 +1,7 @@ -From 5e96c8a43e8a672bc1622ed10ba7bc8138caed91 Mon Sep 17 00:00:00 2001 +From f70c648b500280d91ea30b2df8cdff5cf78d4d10 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Mon, 8 Mar 2021 13:25:28 +0100 -Subject: [PATCH 037/178] fix(LinstorJournaler): ensure uri is not None during +Subject: [PATCH 036/177] fix(LinstorJournaler): ensure uri is not None during linstor.KV creation Signed-off-by: Ronan Abhamon @@ -10,7 +10,7 @@ Signed-off-by: Ronan Abhamon 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/drivers/linstorjournaler.py b/drivers/linstorjournaler.py -index 285012c..3993f60 100755 +index 285012ca..3993f601 100755 --- a/drivers/linstorjournaler.py +++ b/drivers/linstorjournaler.py @@ -16,7 +16,8 @@ @@ -52,6 +52,3 @@ index 285012c..3993f60 100755 ) @staticmethod --- -2.46.0 - diff --git a/SOURCES/0038-feat-LinstorSR-add-an-option-to-disable-auto-quorum-.patch b/SOURCES/0037-feat-LinstorSR-add-an-option-to-disable-auto-quorum-.patch similarity index 96% rename from SOURCES/0038-feat-LinstorSR-add-an-option-to-disable-auto-quorum-.patch rename to SOURCES/0037-feat-LinstorSR-add-an-option-to-disable-auto-quorum-.patch index 0515369c..275beafe 100644 --- a/SOURCES/0038-feat-LinstorSR-add-an-option-to-disable-auto-quorum-.patch +++ b/SOURCES/0037-feat-LinstorSR-add-an-option-to-disable-auto-quorum-.patch @@ -1,7 +1,7 @@ -From 4a5e7d4ee020c3e1fa1b07a2306dd6480003da43 Mon Sep 17 00:00:00 2001 +From 3495f3d60f545f57c0bdd7736bd1e202c74cd786 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Mon, 22 Mar 2021 17:32:26 +0100 -Subject: [PATCH 038/178] feat(LinstorSR): add an option to disable auto-quorum +Subject: [PATCH 037/177] feat(LinstorSR): add an option to disable auto-quorum on volume DB + fix doc Signed-off-by: Ronan Abhamon @@ -11,7 +11,7 @@ Signed-off-by: Ronan Abhamon 2 files changed, 29 insertions(+), 16 deletions(-) diff --git a/drivers/LinstorSR.py b/drivers/LinstorSR.py -index 092f5e8..9f2be58 100755 +index 092f5e8e..9f2be58c 100755 --- a/drivers/LinstorSR.py +++ b/drivers/LinstorSR.py @@ -31,6 +31,7 @@ except ImportError: @@ -52,7 +52,7 @@ index 092f5e8..9f2be58 100755 ) self._vhdutil = LinstorVhdUtil(self.session, self._linstor) diff --git a/drivers/linstorvolumemanager.py b/drivers/linstorvolumemanager.py -index d8d64b4..27c8df5 100755 +index d8d64b4a..27c8df5d 100755 --- a/drivers/linstorvolumemanager.py +++ b/drivers/linstorvolumemanager.py @@ -1261,15 +1261,17 @@ class LinstorVolumeManager(object): @@ -140,6 +140,3 @@ index d8d64b4..27c8df5 100755 current_device_path = cls._request_database_path(lin, activate=True) --- -2.46.0 - diff --git a/SOURCES/0039-fix-LinstorVolumeManager-add-a-workaround-to-create-.patch b/SOURCES/0038-fix-LinstorVolumeManager-add-a-workaround-to-create-.patch similarity index 87% rename from SOURCES/0039-fix-LinstorVolumeManager-add-a-workaround-to-create-.patch rename to SOURCES/0038-fix-LinstorVolumeManager-add-a-workaround-to-create-.patch index 676a546d..d1f30933 100644 --- a/SOURCES/0039-fix-LinstorVolumeManager-add-a-workaround-to-create-.patch +++ b/SOURCES/0038-fix-LinstorVolumeManager-add-a-workaround-to-create-.patch @@ -1,7 +1,7 @@ -From 5a2642058762b8fa64c44b53e89618f5c7b77f3b Mon Sep 17 00:00:00 2001 +From 68e00f592b4e6f9a98147bef4e9931f584ad3aa9 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Tue, 23 Mar 2021 14:49:39 +0100 -Subject: [PATCH 039/178] fix(LinstorVolumeManager): add a workaround to create +Subject: [PATCH 038/177] fix(LinstorVolumeManager): add a workaround to create properly SR with thin LVM Signed-off-by: Ronan Abhamon @@ -10,7 +10,7 @@ Signed-off-by: Ronan Abhamon 1 file changed, 11 insertions(+) diff --git a/drivers/linstorvolumemanager.py b/drivers/linstorvolumemanager.py -index 27c8df5..3aaffdf 100755 +index 27c8df5d..3aaffdf4 100755 --- a/drivers/linstorvolumemanager.py +++ b/drivers/linstorvolumemanager.py @@ -2134,6 +2134,17 @@ class LinstorVolumeManager(object): @@ -31,6 +31,3 @@ index 27c8df5..3aaffdf 100755 size = cls.round_up_volume_size(DATABASE_SIZE) cls._check_volume_creation_errors(lin.resource_group_spawn( rsc_grp_name=group_name, --- -2.46.0 - diff --git a/SOURCES/0040-feat-LinstorSR-add-optional-ips-parameter.patch b/SOURCES/0039-feat-LinstorSR-add-optional-ips-parameter.patch similarity index 96% rename from SOURCES/0040-feat-LinstorSR-add-optional-ips-parameter.patch rename to SOURCES/0039-feat-LinstorSR-add-optional-ips-parameter.patch index b95e853c..f4062563 100644 --- a/SOURCES/0040-feat-LinstorSR-add-optional-ips-parameter.patch +++ b/SOURCES/0039-feat-LinstorSR-add-optional-ips-parameter.patch @@ -1,7 +1,7 @@ -From 0940fe2bfcfc74d6252a07cf95d1f261bf77cfc8 Mon Sep 17 00:00:00 2001 +From 9c7c8c1d8967c4a3d8b2f715c706555442a15280 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Wed, 24 Mar 2021 10:06:58 +0100 -Subject: [PATCH 040/178] feat(LinstorSR): add optional ips parameter +Subject: [PATCH 039/177] feat(LinstorSR): add optional ips parameter Signed-off-by: Ronan Abhamon --- @@ -10,7 +10,7 @@ Signed-off-by: Ronan Abhamon 2 files changed, 52 insertions(+), 18 deletions(-) diff --git a/drivers/LinstorSR.py b/drivers/LinstorSR.py -index 9f2be58..4b761b5 100755 +index 9f2be58c..4b761b56 100755 --- a/drivers/LinstorSR.py +++ b/drivers/LinstorSR.py @@ -77,6 +77,7 @@ CAPABILITIES = [ @@ -65,7 +65,7 @@ index 9f2be58..4b761b5 100755 if len(ips) != len(self._hosts): raise xs_errors.XenError( diff --git a/drivers/linstorvolumemanager.py b/drivers/linstorvolumemanager.py -index 3aaffdf..5c04d02 100755 +index 3aaffdf4..5c04d028 100755 --- a/drivers/linstorvolumemanager.py +++ b/drivers/linstorvolumemanager.py @@ -1313,22 +1313,36 @@ class LinstorVolumeManager(object): @@ -118,6 +118,3 @@ index 3aaffdf..5c04d02 100755 driver_pool_name = group_name group_name = cls._build_group_name(group_name) pools = lin.storage_pool_list_raise(filter_by_stor_pools=[group_name]) --- -2.46.0 - diff --git a/SOURCES/0041-feat-LinstorSR-add-a-helper-log_drbd_erofs-to-trace-.patch b/SOURCES/0040-feat-LinstorSR-add-a-helper-log_drbd_erofs-to-trace-.patch similarity index 96% rename from SOURCES/0041-feat-LinstorSR-add-a-helper-log_drbd_erofs-to-trace-.patch rename to SOURCES/0040-feat-LinstorSR-add-a-helper-log_drbd_erofs-to-trace-.patch index f27f2ddf..9f6d3a37 100644 --- a/SOURCES/0041-feat-LinstorSR-add-a-helper-log_drbd_erofs-to-trace-.patch +++ b/SOURCES/0040-feat-LinstorSR-add-a-helper-log_drbd_erofs-to-trace-.patch @@ -1,7 +1,7 @@ -From f54ac1cef57268f0f7494af54fd4008a9aa67481 Mon Sep 17 00:00:00 2001 +From 7c1887c35bad6c56d2aff1ba888722887d7300bb Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Fri, 26 Mar 2021 16:13:20 +0100 -Subject: [PATCH 041/178] feat(LinstorSR): add a helper `log_drbd_erofs` to +Subject: [PATCH 040/177] feat(LinstorSR): add a helper `log_drbd_erofs` to trace EROFS errno code with DRBD resources + check EROFS error Signed-off-by: Ronan Abhamon @@ -13,7 +13,7 @@ Signed-off-by: Ronan Abhamon 4 files changed, 119 insertions(+), 4 deletions(-) diff --git a/drivers/blktap2.py b/drivers/blktap2.py -index e9305ce..14c564e 100755 +index e9305ce9..14c564e6 100755 --- a/drivers/blktap2.py +++ b/drivers/blktap2.py @@ -36,6 +36,7 @@ import json @@ -50,7 +50,7 @@ index e9305ce..14c564e 100755 tapdisk = cls.__from_blktap(blktap) node = '/sys/dev/block/%d:%d' % (tapdisk.major(), tapdisk.minor) diff --git a/drivers/linstor-manager b/drivers/linstor-manager -index f82b73f..a06ed20 100755 +index f82b73f2..a06ed201 100755 --- a/drivers/linstor-manager +++ b/drivers/linstor-manager @@ -327,6 +327,22 @@ def lock_vdi(session, args): @@ -85,7 +85,7 @@ index f82b73f..a06ed20 100755 + 'lsofResource': lsof_resource }) diff --git a/drivers/linstorvolumemanager.py b/drivers/linstorvolumemanager.py -index 5c04d02..0357b92 100755 +index 5c04d028..0357b92d 100755 --- a/drivers/linstorvolumemanager.py +++ b/drivers/linstorvolumemanager.py @@ -16,6 +16,7 @@ @@ -200,7 +200,7 @@ index 5c04d02..0357b92 100755 # Default LVM extent size. BLOCK_SIZE = 4 * 1024 * 1024 diff --git a/drivers/vhdutil.py b/drivers/vhdutil.py -index 422834e..0a8fe91 100755 +index 422834eb..0a8fe918 100755 --- a/drivers/vhdutil.py +++ b/drivers/vhdutil.py @@ -99,7 +99,7 @@ def fullSizeVHD(virtual_size): @@ -212,6 +212,3 @@ index 422834e..0a8fe91 100755 def getVHDInfo(path, extractUuidFunction, includeParent = True): """Get the VHD info. The parent info may optionally be omitted: vhd-util --- -2.46.0 - diff --git a/SOURCES/0042-fix-LinstorSR-try-to-restart-the-services-again-if-t.patch b/SOURCES/0041-fix-LinstorSR-try-to-restart-the-services-again-if-t.patch similarity index 92% rename from SOURCES/0042-fix-LinstorSR-try-to-restart-the-services-again-if-t.patch rename to SOURCES/0041-fix-LinstorSR-try-to-restart-the-services-again-if-t.patch index 2fccdc94..c485f725 100644 --- a/SOURCES/0042-fix-LinstorSR-try-to-restart-the-services-again-if-t.patch +++ b/SOURCES/0041-fix-LinstorSR-try-to-restart-the-services-again-if-t.patch @@ -1,7 +1,7 @@ -From 70e19894b836132d11001dd506dc1f6b97c38a57 Mon Sep 17 00:00:00 2001 +From fa09dd7699bb59997101526c8f31320f9d84967c Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Wed, 28 Apr 2021 15:15:58 +0200 -Subject: [PATCH 042/178] fix(LinstorSR): try to restart the services again if +Subject: [PATCH 041/177] fix(LinstorSR): try to restart the services again if there is a failure in linstor-manager Signed-off-by: Ronan Abhamon @@ -10,7 +10,7 @@ Signed-off-by: Ronan Abhamon 1 file changed, 28 insertions(+), 11 deletions(-) diff --git a/drivers/linstor-manager b/drivers/linstor-manager -index a06ed20..dcd4bc6 100755 +index a06ed201..dcd4bc6f 100755 --- a/drivers/linstor-manager +++ b/drivers/linstor-manager @@ -16,6 +16,7 @@ @@ -69,6 +69,3 @@ index a06ed20..dcd4bc6 100755 def stop_service(name): --- -2.46.0 - diff --git a/SOURCES/0043-fix-LinstorSR-robustify-linstor-manager-to-never-inc.patch b/SOURCES/0042-fix-LinstorSR-robustify-linstor-manager-to-never-inc.patch similarity index 86% rename from SOURCES/0043-fix-LinstorSR-robustify-linstor-manager-to-never-inc.patch rename to SOURCES/0042-fix-LinstorSR-robustify-linstor-manager-to-never-inc.patch index 933e3dfc..bf7a5cf8 100644 --- a/SOURCES/0043-fix-LinstorSR-robustify-linstor-manager-to-never-inc.patch +++ b/SOURCES/0042-fix-LinstorSR-robustify-linstor-manager-to-never-inc.patch @@ -1,7 +1,7 @@ -From 00000e9bd493c60ff0fd29bd1ee0612188f14cba Mon Sep 17 00:00:00 2001 +From 7b7204b2bdab0a413364d769d797430d859476cc Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Thu, 26 Aug 2021 15:26:11 +0200 -Subject: [PATCH 043/178] fix(LinstorSR): robustify linstor-manager to never +Subject: [PATCH 042/177] fix(LinstorSR): robustify linstor-manager to never include from plugins path Signed-off-by: Ronan Abhamon @@ -10,7 +10,7 @@ Signed-off-by: Ronan Abhamon 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/drivers/linstor-manager b/drivers/linstor-manager -index dcd4bc6..f12747f 100755 +index dcd4bc6f..f12747f1 100755 --- a/drivers/linstor-manager +++ b/drivers/linstor-manager @@ -14,14 +14,18 @@ @@ -34,6 +34,3 @@ index dcd4bc6..f12747f 100755 from linstorjournaler import LinstorJournaler from linstorvolumemanager import get_controller_uri, LinstorVolumeManager from lock import Lock --- -2.46.0 - diff --git a/SOURCES/0044-fix-LinstorSR-prevent-starting-controller-during-fai.patch b/SOURCES/0043-fix-LinstorSR-prevent-starting-controller-during-fai.patch similarity index 92% rename from SOURCES/0044-fix-LinstorSR-prevent-starting-controller-during-fai.patch rename to SOURCES/0043-fix-LinstorSR-prevent-starting-controller-during-fai.patch index 41606748..da40e93c 100644 --- a/SOURCES/0044-fix-LinstorSR-prevent-starting-controller-during-fai.patch +++ b/SOURCES/0043-fix-LinstorSR-prevent-starting-controller-during-fai.patch @@ -1,7 +1,7 @@ -From 388927905668b5f4b577b2099ea95fcae1f62c57 Mon Sep 17 00:00:00 2001 +From 24ff1e17f91290a29f21fc50fde049c326a30737 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Thu, 26 Aug 2021 16:52:01 +0200 -Subject: [PATCH 044/178] fix(LinstorSR): prevent starting controller during +Subject: [PATCH 043/177] fix(LinstorSR): prevent starting controller during fail in linstor manager destroy method Signed-off-by: Ronan Abhamon @@ -10,7 +10,7 @@ Signed-off-by: Ronan Abhamon 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/drivers/linstorvolumemanager.py b/drivers/linstorvolumemanager.py -index 0357b92..e9b7c2f 100755 +index 0357b92d..e9b7c2f3 100755 --- a/drivers/linstorvolumemanager.py +++ b/drivers/linstorvolumemanager.py @@ -1263,9 +1263,11 @@ class LinstorVolumeManager(object): @@ -60,6 +60,3 @@ index 0357b92..e9b7c2f 100755 @staticmethod def _is_mounted(mountpoint): (ret, out, err) = util.doexec(['mountpoint', '-q', mountpoint]) --- -2.46.0 - diff --git a/SOURCES/0045-feat-LinstorVolumeManager-increase-peer-slots-limit-.patch b/SOURCES/0044-feat-LinstorVolumeManager-increase-peer-slots-limit-.patch similarity index 97% rename from SOURCES/0045-feat-LinstorVolumeManager-increase-peer-slots-limit-.patch rename to SOURCES/0044-feat-LinstorVolumeManager-increase-peer-slots-limit-.patch index fb67162c..19d326da 100644 --- a/SOURCES/0045-feat-LinstorVolumeManager-increase-peer-slots-limit-.patch +++ b/SOURCES/0044-feat-LinstorVolumeManager-increase-peer-slots-limit-.patch @@ -1,7 +1,7 @@ -From 7bbb8e4cb68122d9e2a784dae2359edbe8a16445 Mon Sep 17 00:00:00 2001 +From 99e4db890887349c57fe220efbe9f5b39f453e5b Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Tue, 19 Oct 2021 14:48:17 +0200 -Subject: [PATCH 045/178] feat(LinstorVolumeManager): increase peer slots limit +Subject: [PATCH 044/177] feat(LinstorVolumeManager): increase peer slots limit (support 31 connections to a DRBD) - Also, create diskless devices when db is created @@ -12,7 +12,7 @@ Signed-off-by: Ronan Abhamon 1 file changed, 67 insertions(+), 17 deletions(-) diff --git a/drivers/linstorvolumemanager.py b/drivers/linstorvolumemanager.py -index e9b7c2f..553e2f5 100755 +index e9b7c2f3..553e2f50 100755 --- a/drivers/linstorvolumemanager.py +++ b/drivers/linstorvolumemanager.py @@ -1507,7 +1507,7 @@ class LinstorVolumeManager(object): @@ -165,6 +165,3 @@ index e9b7c2f..553e2f5 100755 # We use realpath here to get the /dev/drbd path instead of # /dev/drbd/by-res/. expected_device_path = cls.build_device_path(DATABASE_VOLUME_NAME) --- -2.46.0 - diff --git a/SOURCES/0046-feat-LinstorVolumeManager-add-a-fallback-to-find-con.patch b/SOURCES/0045-feat-LinstorVolumeManager-add-a-fallback-to-find-con.patch similarity index 94% rename from SOURCES/0046-feat-LinstorVolumeManager-add-a-fallback-to-find-con.patch rename to SOURCES/0045-feat-LinstorVolumeManager-add-a-fallback-to-find-con.patch index 15f6bba4..0a8ce895 100644 --- a/SOURCES/0046-feat-LinstorVolumeManager-add-a-fallback-to-find-con.patch +++ b/SOURCES/0045-feat-LinstorVolumeManager-add-a-fallback-to-find-con.patch @@ -1,7 +1,7 @@ -From c96f969e228b789d1ac28ae17eb35255cfee0aa0 Mon Sep 17 00:00:00 2001 +From 885916e13c35eab5ab1e0eb29b0882b2037c16dc Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Wed, 20 Oct 2021 14:33:04 +0200 -Subject: [PATCH 046/178] feat(LinstorVolumeManager): add a fallback to find +Subject: [PATCH 045/177] feat(LinstorVolumeManager): add a fallback to find controller uri (when len(hosts) >= 4) Signed-off-by: Ronan Abhamon @@ -11,7 +11,7 @@ Signed-off-by: Ronan Abhamon 2 files changed, 40 insertions(+), 12 deletions(-) diff --git a/drivers/linstor-manager b/drivers/linstor-manager -index f12747f..afc4bfe 100755 +index f12747f1..afc4bfe5 100755 --- a/drivers/linstor-manager +++ b/drivers/linstor-manager @@ -364,6 +364,13 @@ def lsof_resource(session, args): @@ -37,7 +37,7 @@ index f12747f..afc4bfe 100755 + 'hasControllerRunning': has_controller_running }) diff --git a/drivers/linstorvolumemanager.py b/drivers/linstorvolumemanager.py -index 553e2f5..821ef42 100755 +index 553e2f50..821ef420 100755 --- a/drivers/linstorvolumemanager.py +++ b/drivers/linstorvolumemanager.py @@ -16,6 +16,7 @@ @@ -112,6 +112,3 @@ index 553e2f5..821ef42 100755 def get_controller_uri(): --- -2.46.0 - diff --git a/SOURCES/0047-fix-var-lib-linstor.mount-ensure-we-always-mount-dat.patch b/SOURCES/0046-fix-var-lib-linstor.mount-ensure-we-always-mount-dat.patch similarity index 92% rename from SOURCES/0047-fix-var-lib-linstor.mount-ensure-we-always-mount-dat.patch rename to SOURCES/0046-fix-var-lib-linstor.mount-ensure-we-always-mount-dat.patch index 27db1348..460d2e89 100644 --- a/SOURCES/0047-fix-var-lib-linstor.mount-ensure-we-always-mount-dat.patch +++ b/SOURCES/0046-fix-var-lib-linstor.mount-ensure-we-always-mount-dat.patch @@ -1,7 +1,7 @@ -From 1911a8c147f036f0e57062cb3134c6798a468e30 Mon Sep 17 00:00:00 2001 +From 4471cf538351cb74760d3468af3401fcd9ac0049 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Thu, 21 Oct 2021 11:13:07 +0200 -Subject: [PATCH 047/178] fix(var-lib-linstor.mount): ensure we always mount +Subject: [PATCH 046/177] fix(var-lib-linstor.mount): ensure we always mount database with RW flags Sometimes systemd fallback to read only FS if the volume can't be mounted, we must @@ -19,10 +19,10 @@ Signed-off-by: Ronan Abhamon create mode 100644 etc/systemd/system/var-lib-linstor.service diff --git a/Makefile b/Makefile -index 2b4940f..056b299 100755 +index 43dd5692..2eb6a868 100755 --- a/Makefile +++ b/Makefile -@@ -181,7 +181,7 @@ install: precheck +@@ -182,7 +182,7 @@ install: precheck $(SM_STAGING)/$(LOGROTATE_DIR) install -m 644 etc/systemd/system/linstor-satellite.service.d/override.conf \ $(SM_STAGING)/$(SYSTEMD_CONF_DIR)/linstor-satellite.service.d/ @@ -32,7 +32,7 @@ index 2b4940f..056b299 100755 install -m 644 etc/minidrbdcluster.ini \ $(SM_STAGING)/$(MINI_DRBD_CLUSTER_CONF_DIR) diff --git a/drivers/linstor-manager b/drivers/linstor-manager -index afc4bfe..af8d2b9 100755 +index afc4bfe5..af8d2b9e 100755 --- a/drivers/linstor-manager +++ b/drivers/linstor-manager @@ -187,7 +187,7 @@ def destroy(session, args): @@ -54,7 +54,7 @@ index afc4bfe..af8d2b9 100755 return str(False) diff --git a/etc/minidrbdcluster.ini b/etc/minidrbdcluster.ini -index 0126e86..9e52342 100644 +index 0126e862..9e523427 100644 --- a/etc/minidrbdcluster.ini +++ b/etc/minidrbdcluster.ini @@ -5,7 +5,7 @@ @@ -68,7 +68,7 @@ index 0126e86..9e52342 100644 systemd-units= diff --git a/etc/systemd/system/var-lib-linstor.mount b/etc/systemd/system/var-lib-linstor.mount deleted file mode 100644 -index a05a7f7..0000000 +index a05a7f74..00000000 --- a/etc/systemd/system/var-lib-linstor.mount +++ /dev/null @@ -1,6 +0,0 @@ @@ -80,7 +80,7 @@ index a05a7f7..0000000 -Where=/var/lib/linstor diff --git a/etc/systemd/system/var-lib-linstor.service b/etc/systemd/system/var-lib-linstor.service new file mode 100644 -index 0000000..d230d04 +index 00000000..d230d048 --- /dev/null +++ b/etc/systemd/system/var-lib-linstor.service @@ -0,0 +1,21 @@ @@ -105,6 +105,3 @@ index 0000000..d230d04 +ExecStart=/bin/mount -w /dev/drbd/by-res/xcp-persistent-database/0 /var/lib/linstor +ExecStop=/bin/umount /var/lib/linstor +RemainAfterExit=true --- -2.46.0 - diff --git a/SOURCES/0048-feat-LinstorVolumeManager-add-a-fallback-to-find-nod.patch b/SOURCES/0047-feat-LinstorVolumeManager-add-a-fallback-to-find-nod.patch similarity index 90% rename from SOURCES/0048-feat-LinstorVolumeManager-add-a-fallback-to-find-nod.patch rename to SOURCES/0047-feat-LinstorVolumeManager-add-a-fallback-to-find-nod.patch index b757fa1b..91ab0374 100644 --- a/SOURCES/0048-feat-LinstorVolumeManager-add-a-fallback-to-find-nod.patch +++ b/SOURCES/0047-feat-LinstorVolumeManager-add-a-fallback-to-find-nod.patch @@ -1,7 +1,7 @@ -From 53850ec1f126a68485c20d01a81da2529ba19d90 Mon Sep 17 00:00:00 2001 +From 207dfa843914c7a6a67e6b1d4d80001b3f787d45 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Thu, 21 Oct 2021 11:51:32 +0200 -Subject: [PATCH 048/178] feat(LinstorVolumeManager): add a fallback to find +Subject: [PATCH 047/177] feat(LinstorVolumeManager): add a fallback to find node name (when len(hosts) >= 4) Signed-off-by: Ronan Abhamon @@ -10,7 +10,7 @@ Signed-off-by: Ronan Abhamon 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/drivers/linstorvolumemanager.py b/drivers/linstorvolumemanager.py -index 821ef42..e497afa 100755 +index 821ef420..e497afa6 100755 --- a/drivers/linstorvolumemanager.py +++ b/drivers/linstorvolumemanager.py @@ -210,19 +210,26 @@ def get_controller_uri(): @@ -47,6 +47,3 @@ index 821ef42..e497afa 100755 # ============================================================================== --- -2.46.0 - diff --git a/SOURCES/0049-feat-LinstorSR-explain-on-which-host-plugins-command.patch b/SOURCES/0048-feat-LinstorSR-explain-on-which-host-plugins-command.patch similarity index 90% rename from SOURCES/0049-feat-LinstorSR-explain-on-which-host-plugins-command.patch rename to SOURCES/0048-feat-LinstorSR-explain-on-which-host-plugins-command.patch index 8acc15de..f19b38d9 100644 --- a/SOURCES/0049-feat-LinstorSR-explain-on-which-host-plugins-command.patch +++ b/SOURCES/0048-feat-LinstorSR-explain-on-which-host-plugins-command.patch @@ -1,7 +1,7 @@ -From a719956530bd08539fa58f1cfd0043779cc7c0d9 Mon Sep 17 00:00:00 2001 +From 96a29848b5a41d6bb97c231f1d4950d8f3fdfcd5 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Tue, 26 Oct 2021 10:44:00 +0200 -Subject: [PATCH 049/178] feat(LinstorSR): explain on which host, plugins +Subject: [PATCH 048/177] feat(LinstorSR): explain on which host, plugins commands are executed Signed-off-by: Ronan Abhamon @@ -10,7 +10,7 @@ Signed-off-by: Ronan Abhamon 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/drivers/LinstorSR.py b/drivers/LinstorSR.py -index 4b761b5..519afb2 100755 +index 4b761b56..519afb29 100755 --- a/drivers/LinstorSR.py +++ b/drivers/LinstorSR.py @@ -775,13 +775,25 @@ class LinstorSR(SR.SR): @@ -45,6 +45,3 @@ index 4b761b5..519afb2 100755 ) ) if ret == 'False': --- -2.46.0 - diff --git a/SOURCES/0050-fix-LinstorSR-create-diskless-path-if-necessary-duri.patch b/SOURCES/0049-fix-LinstorSR-create-diskless-path-if-necessary-duri.patch similarity index 87% rename from SOURCES/0050-fix-LinstorSR-create-diskless-path-if-necessary-duri.patch rename to SOURCES/0049-fix-LinstorSR-create-diskless-path-if-necessary-duri.patch index 53db14c1..bcab66f6 100644 --- a/SOURCES/0050-fix-LinstorSR-create-diskless-path-if-necessary-duri.patch +++ b/SOURCES/0049-fix-LinstorSR-create-diskless-path-if-necessary-duri.patch @@ -1,7 +1,7 @@ -From ea6fa3de772d60b15718834e0510e47bedb334fc Mon Sep 17 00:00:00 2001 +From b7a6e3a1135f8c34437d0b2bce6fde3b8ac98c3f Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Wed, 3 Nov 2021 14:59:31 +0100 -Subject: [PATCH 050/178] fix(LinstorSR): create diskless path if necessary +Subject: [PATCH 049/177] fix(LinstorSR): create diskless path if necessary during VDI loading Signed-off-by: Ronan Abhamon @@ -10,7 +10,7 @@ Signed-off-by: Ronan Abhamon 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/drivers/LinstorSR.py b/drivers/LinstorSR.py -index 519afb2..15b9dda 100755 +index 519afb29..15b9dda3 100755 --- a/drivers/LinstorSR.py +++ b/drivers/LinstorSR.py @@ -1899,7 +1899,16 @@ class LinstorVDI(VDI.VDI): @@ -31,6 +31,3 @@ index 519afb2..15b9dda 100755 self.hidden = vhd_info.hidden self.size = vhd_info.sizeVirt self.parent = vhd_info.parentUuid --- -2.46.0 - diff --git a/SOURCES/0051-feat-LinstorSR-use-HTTP-NBD-instead-of-DRBD-directly.patch b/SOURCES/0050-feat-LinstorSR-use-HTTP-NBD-instead-of-DRBD-directly.patch similarity index 98% rename from SOURCES/0051-feat-LinstorSR-use-HTTP-NBD-instead-of-DRBD-directly.patch rename to SOURCES/0050-feat-LinstorSR-use-HTTP-NBD-instead-of-DRBD-directly.patch index 0b51b002..5f300067 100644 --- a/SOURCES/0051-feat-LinstorSR-use-HTTP-NBD-instead-of-DRBD-directly.patch +++ b/SOURCES/0050-feat-LinstorSR-use-HTTP-NBD-instead-of-DRBD-directly.patch @@ -1,7 +1,7 @@ -From 38960f4621164640ed1c4423959e0fd195569403 Mon Sep 17 00:00:00 2001 +From e7f21e7e804f9248bee509e517f5b9460f94c654 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Thu, 12 May 2022 17:52:35 +0200 -Subject: [PATCH 051/178] feat(LinstorSR): use HTTP/NBD instead of DRBD +Subject: [PATCH 050/177] feat(LinstorSR): use HTTP/NBD instead of DRBD directly with heartbeat VDI Signed-off-by: Ronan Abhamon @@ -17,10 +17,10 @@ Signed-off-by: Ronan Abhamon create mode 100755 scripts/fork-log-daemon diff --git a/Makefile b/Makefile -index 056b299..992d9ef 100755 +index 2eb6a868..af1011a1 100755 --- a/Makefile +++ b/Makefile -@@ -234,6 +234,7 @@ install: precheck +@@ -239,6 +239,7 @@ install: precheck install -m 755 drivers/iscsilib.py $(SM_STAGING)$(SM_DEST) install -m 755 drivers/fcoelib.py $(SM_STAGING)$(SM_DEST) mkdir -p $(SM_STAGING)$(LIBEXEC) @@ -29,7 +29,7 @@ index 056b299..992d9ef 100755 install -m 755 scripts/check-device-sharing $(SM_STAGING)$(LIBEXEC) install -m 755 scripts/usb_change $(SM_STAGING)$(LIBEXEC) diff --git a/drivers/LinstorSR.py b/drivers/LinstorSR.py -index 15b9dda..5bdf676 100755 +index 15b9dda3..5bdf6769 100755 --- a/drivers/LinstorSR.py +++ b/drivers/LinstorSR.py @@ -34,9 +34,13 @@ import cleanup @@ -502,7 +502,7 @@ index 15b9dda..5bdf676 100755 diff --git a/drivers/linstor-manager b/drivers/linstor-manager -index af8d2b9..30230ad 100755 +index af8d2b9e..30230adb 100755 --- a/drivers/linstor-manager +++ b/drivers/linstor-manager @@ -36,7 +36,7 @@ import vhdutil @@ -580,7 +580,7 @@ index af8d2b9..30230ad 100755 linstor = LinstorVolumeManager( 'linstor://localhost', diff --git a/drivers/linstorvhdutil.py b/drivers/linstorvhdutil.py -index ac85837..9ba0ac3 100644 +index ac858371..9ba0ac3b 100644 --- a/drivers/linstorvhdutil.py +++ b/drivers/linstorvhdutil.py @@ -42,7 +42,7 @@ def linstorhostcall(local_method, remote_method): @@ -611,7 +611,7 @@ index ac85837..9ba0ac3 100644 ) diff --git a/drivers/linstorvolumemanager.py b/drivers/linstorvolumemanager.py -index e497afa..da98e0b 100755 +index e497afa6..da98e0b6 100755 --- a/drivers/linstorvolumemanager.py +++ b/drivers/linstorvolumemanager.py @@ -329,18 +329,21 @@ class LinstorVolumeManager(object): @@ -662,7 +662,7 @@ index e497afa..da98e0b 100755 # We ignore diskless pools of the form "DfltDisklessStorPool". if volume.storage_pool_name == self._group_name: diff --git a/drivers/util.py b/drivers/util.py -index 7151f36..6a9fc1a 100755 +index 7151f368..6a9fc1a0 100755 --- a/drivers/util.py +++ b/drivers/util.py @@ -1801,3 +1801,52 @@ def sessions_less_than_targets(other_config, device_config): @@ -720,7 +720,7 @@ index 7151f36..6a9fc1a 100755 + return True diff --git a/scripts/fork-log-daemon b/scripts/fork-log-daemon new file mode 100755 -index 0000000..eb0f0b0 +index 00000000..eb0f0b0f --- /dev/null +++ b/scripts/fork-log-daemon @@ -0,0 +1,34 @@ @@ -758,6 +758,3 @@ index 0000000..eb0f0b0 + syslog.syslog(sys.argv[1] + ' terminated with exception: {}'.format(e)) + finally: + syslog.syslog(sys.argv[1] + ' is now terminated!') --- -2.46.0 - diff --git a/SOURCES/0052-fix-LinstorSR-find-controller-when-XAPI-unreachable-.patch b/SOURCES/0051-fix-LinstorSR-find-controller-when-XAPI-unreachable-.patch similarity index 97% rename from SOURCES/0052-fix-LinstorSR-find-controller-when-XAPI-unreachable-.patch rename to SOURCES/0051-fix-LinstorSR-find-controller-when-XAPI-unreachable-.patch index a75c5010..f4aa6ab0 100644 --- a/SOURCES/0052-fix-LinstorSR-find-controller-when-XAPI-unreachable-.patch +++ b/SOURCES/0051-fix-LinstorSR-find-controller-when-XAPI-unreachable-.patch @@ -1,7 +1,7 @@ -From 43cdaa51754d3e397f17e2092a64919daf6e4a05 Mon Sep 17 00:00:00 2001 +From c209c3bd1da042b082f621adb4c64a8180fe2780 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Thu, 3 Mar 2022 15:02:17 +0100 -Subject: [PATCH 052/178] fix(LinstorSR): find controller when XAPI unreachable +Subject: [PATCH 051/177] fix(LinstorSR): find controller when XAPI unreachable (XHA) Signed-off-by: Ronan Abhamon @@ -11,7 +11,7 @@ Signed-off-by: Ronan Abhamon 2 files changed, 74 insertions(+), 20 deletions(-) diff --git a/drivers/LinstorSR.py b/drivers/LinstorSR.py -index 5bdf676..a4f7afc 100755 +index 5bdf6769..a4f7afce 100755 --- a/drivers/LinstorSR.py +++ b/drivers/LinstorSR.py @@ -46,6 +46,7 @@ import traceback @@ -108,7 +108,7 @@ index 5bdf676..a4f7afc 100755 if not self._is_master: diff --git a/drivers/linstorvolumemanager.py b/drivers/linstorvolumemanager.py -index da98e0b..b4ee783 100755 +index da98e0b6..b4ee7830 100755 --- a/drivers/linstorvolumemanager.py +++ b/drivers/linstorvolumemanager.py @@ -186,15 +186,16 @@ def _get_controller_uri(): @@ -182,6 +182,3 @@ index da98e0b..b4ee783 100755 exceptions=[ linstor.errors.LinstorNetworkError, LinstorVolumeManagerError --- -2.46.0 - diff --git a/SOURCES/0053-fix-LinstorSR-use-IPs-instead-of-hostnames-in-NBD-se.patch b/SOURCES/0052-fix-LinstorSR-use-IPs-instead-of-hostnames-in-NBD-se.patch similarity index 97% rename from SOURCES/0053-fix-LinstorSR-use-IPs-instead-of-hostnames-in-NBD-se.patch rename to SOURCES/0052-fix-LinstorSR-use-IPs-instead-of-hostnames-in-NBD-se.patch index fcdf5de2..5b5f4fbd 100644 --- a/SOURCES/0053-fix-LinstorSR-use-IPs-instead-of-hostnames-in-NBD-se.patch +++ b/SOURCES/0052-fix-LinstorSR-use-IPs-instead-of-hostnames-in-NBD-se.patch @@ -1,7 +1,7 @@ -From a6d4a6ef809faeb91f4cd7c7f4e4bba8dc2d0b7f Mon Sep 17 00:00:00 2001 +From 46cfead41d21f5642c9b14ee2543a0bf346ef654 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Thu, 24 Mar 2022 18:13:46 +0100 -Subject: [PATCH 053/178] fix(LinstorSR): use IPs instead of hostnames in NBD +Subject: [PATCH 052/177] fix(LinstorSR): use IPs instead of hostnames in NBD server Without this patch we can't use XCP-ng hosts configured with static IPS. @@ -14,7 +14,7 @@ Signed-off-by: Ronan Abhamon 2 files changed, 97 insertions(+), 16 deletions(-) diff --git a/drivers/LinstorSR.py b/drivers/LinstorSR.py -index a4f7afc..c0bfc3f 100755 +index a4f7afce..c0bfc3f1 100755 --- a/drivers/LinstorSR.py +++ b/drivers/LinstorSR.py @@ -251,8 +251,15 @@ def deflate(linstor, vdi_uuid, vdi_path, new_size, old_size): @@ -181,7 +181,7 @@ index a4f7afc..c0bfc3f 100755 raise xs_errors.XenError( 'VDIUnavailable', diff --git a/drivers/util.py b/drivers/util.py -index 6a9fc1a..7c52703 100755 +index 6a9fc1a0..7c52703c 100755 --- a/drivers/util.py +++ b/drivers/util.py @@ -702,6 +702,18 @@ def get_hosts_attached_on(session, vdi_uuids): @@ -203,6 +203,3 @@ index 6a9fc1a..7c52703 100755 def get_this_host_ref(session): host_uuid = get_this_host() host_ref = session.xenapi.host.get_by_uuid(host_uuid) --- -2.46.0 - diff --git a/SOURCES/0054-fix-LinstorVolumeManager-ensure-we-always-use-IPs-in.patch b/SOURCES/0053-fix-LinstorVolumeManager-ensure-we-always-use-IPs-in.patch similarity index 84% rename from SOURCES/0054-fix-LinstorVolumeManager-ensure-we-always-use-IPs-in.patch rename to SOURCES/0053-fix-LinstorVolumeManager-ensure-we-always-use-IPs-in.patch index 9611e49e..e5290c53 100644 --- a/SOURCES/0054-fix-LinstorVolumeManager-ensure-we-always-use-IPs-in.patch +++ b/SOURCES/0053-fix-LinstorVolumeManager-ensure-we-always-use-IPs-in.patch @@ -1,7 +1,7 @@ -From 5e39604cc13941a2d3fe20a2096e3553c1838dba Mon Sep 17 00:00:00 2001 +From bb2e579c130b8b2109098a922b892f240ccd070e Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Thu, 31 Mar 2022 11:21:19 +0200 -Subject: [PATCH 054/178] fix(LinstorVolumeManager): ensure we always use IPs +Subject: [PATCH 053/177] fix(LinstorVolumeManager): ensure we always use IPs in _get_controller_uri Otherwise if a hostname is returned, we can't use it if the XCP-ng pool @@ -13,7 +13,7 @@ Signed-off-by: Ronan Abhamon 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/linstorvolumemanager.py b/drivers/linstorvolumemanager.py -index b4ee783..2d5c63e 100755 +index b4ee7830..2d5c63ed 100755 --- a/drivers/linstorvolumemanager.py +++ b/drivers/linstorvolumemanager.py @@ -192,7 +192,7 @@ def _get_controller_uri(): @@ -25,6 +25,3 @@ index b4ee783..2d5c63e 100755 except: # Not found, maybe we are trying to create the SR... pass --- -2.46.0 - diff --git a/SOURCES/0055-feat-linstor-manager-add-methods-to-add-remove-host-.patch b/SOURCES/0054-feat-linstor-manager-add-methods-to-add-remove-host-.patch similarity index 98% rename from SOURCES/0055-feat-linstor-manager-add-methods-to-add-remove-host-.patch rename to SOURCES/0054-feat-linstor-manager-add-methods-to-add-remove-host-.patch index 176ac7b9..1511a693 100644 --- a/SOURCES/0055-feat-linstor-manager-add-methods-to-add-remove-host-.patch +++ b/SOURCES/0054-feat-linstor-manager-add-methods-to-add-remove-host-.patch @@ -1,7 +1,7 @@ -From 28aba096541cca6fb8afcf8d0cb4789b8ef8575f Mon Sep 17 00:00:00 2001 +From 5f271b45ac1decdfea060a2ae737a4614452e849 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Wed, 6 Apr 2022 17:53:02 +0200 -Subject: [PATCH 055/178] feat(linstor-manager): add methods to add remove/host +Subject: [PATCH 054/177] feat(linstor-manager): add methods to add remove/host from LINSTOR SR Signed-off-by: Ronan Abhamon @@ -12,7 +12,7 @@ Signed-off-by: Ronan Abhamon 3 files changed, 338 insertions(+), 5 deletions(-) diff --git a/drivers/LinstorSR.py b/drivers/LinstorSR.py -index c0bfc3f..413c550 100755 +index c0bfc3f1..413c5501 100755 --- a/drivers/LinstorSR.py +++ b/drivers/LinstorSR.py @@ -401,7 +401,9 @@ class LinstorSR(SR.SR): @@ -36,7 +36,7 @@ index c0bfc3f..413c550 100755 self.physical_utilisation = self._linstor.allocated_volume_size diff --git a/drivers/linstor-manager b/drivers/linstor-manager -index 30230ad..7e34ce6 100755 +index 30230adb..7e34ce65 100755 --- a/drivers/linstor-manager +++ b/drivers/linstor-manager @@ -22,8 +22,7 @@ sys.path[0] = '/opt/xensource/sm/' @@ -349,7 +349,7 @@ index 30230ad..7e34ce6 100755 + 'removeHost': remove_host }) diff --git a/drivers/linstorvolumemanager.py b/drivers/linstorvolumemanager.py -index 2d5c63e..6c0d5aa 100755 +index 2d5c63ed..6c0d5aa2 100755 --- a/drivers/linstorvolumemanager.py +++ b/drivers/linstorvolumemanager.py @@ -402,6 +402,15 @@ class LinstorVolumeManager(object): @@ -420,6 +420,3 @@ index 2d5c63e..6c0d5aa 100755 @classmethod def create_sr( cls, group_name, node_names, ips, redundancy, --- -2.46.0 - diff --git a/SOURCES/0056-feat-LinstorVolumeManager-support-SR-creation-with-d.patch b/SOURCES/0055-feat-LinstorVolumeManager-support-SR-creation-with-d.patch similarity index 96% rename from SOURCES/0056-feat-LinstorVolumeManager-support-SR-creation-with-d.patch rename to SOURCES/0055-feat-LinstorVolumeManager-support-SR-creation-with-d.patch index 096b0ba0..e6cb8259 100644 --- a/SOURCES/0056-feat-LinstorVolumeManager-support-SR-creation-with-d.patch +++ b/SOURCES/0055-feat-LinstorVolumeManager-support-SR-creation-with-d.patch @@ -1,7 +1,7 @@ -From 20097cdf57ee556867918c67505fe017d56e20a8 Mon Sep 17 00:00:00 2001 +From e95bdca3346990450e98940bbb5f957cf3a842ef Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Wed, 13 Apr 2022 15:56:42 +0200 -Subject: [PATCH 056/178] feat(LinstorVolumeManager): support SR creation with +Subject: [PATCH 055/177] feat(LinstorVolumeManager): support SR creation with diskless nodes Signed-off-by: Ronan Abhamon @@ -10,7 +10,7 @@ Signed-off-by: Ronan Abhamon 1 file changed, 55 insertions(+), 11 deletions(-) diff --git a/drivers/linstorvolumemanager.py b/drivers/linstorvolumemanager.py -index 6c0d5aa..430e080 100755 +index 6c0d5aa2..430e080b 100755 --- a/drivers/linstorvolumemanager.py +++ b/drivers/linstorvolumemanager.py @@ -1543,9 +1543,14 @@ class LinstorVolumeManager(object): @@ -125,6 +125,3 @@ index 6c0d5aa..430e080 100755 resources.append(linstor.ResourceData( node_name=node_name, rsc_name=DATABASE_VOLUME_NAME, --- -2.46.0 - diff --git a/SOURCES/0057-feat-LinstorSR-add-a-config-var-to-disable-HTTP-NBD-.patch b/SOURCES/0056-feat-LinstorSR-add-a-config-var-to-disable-HTTP-NBD-.patch similarity index 91% rename from SOURCES/0057-feat-LinstorSR-add-a-config-var-to-disable-HTTP-NBD-.patch rename to SOURCES/0056-feat-LinstorSR-add-a-config-var-to-disable-HTTP-NBD-.patch index 98c61652..4ae141d9 100644 --- a/SOURCES/0057-feat-LinstorSR-add-a-config-var-to-disable-HTTP-NBD-.patch +++ b/SOURCES/0056-feat-LinstorSR-add-a-config-var-to-disable-HTTP-NBD-.patch @@ -1,7 +1,7 @@ -From 95fd9bba2bffc7313f5d155779e14d3922974584 Mon Sep 17 00:00:00 2001 +From b122cffd785989abba5906739f789410a963e4f8 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Thu, 14 Apr 2022 10:30:23 +0200 -Subject: [PATCH 057/178] feat(LinstorSR): add a config var to disable HTTP/NBD +Subject: [PATCH 056/177] feat(LinstorSR): add a config var to disable HTTP/NBD servers Signed-off-by: Ronan Abhamon @@ -10,7 +10,7 @@ Signed-off-by: Ronan Abhamon 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/drivers/LinstorSR.py b/drivers/LinstorSR.py -index 413c550..927e477 100755 +index 413c5501..927e4771 100755 --- a/drivers/LinstorSR.py +++ b/drivers/LinstorSR.py @@ -61,6 +61,13 @@ XHA_CONFIG_PATH = '/etc/xensource/xhad.conf' @@ -49,6 +49,3 @@ index 413c550..927e477 100755 'xcp-persistent-ha-statefile', 'xcp-persistent-redo-log' ]: if not self.path or not util.pathexists(self.path): --- -2.46.0 - diff --git a/SOURCES/0058-feat-LinstorSr-ensure-LVM-group-is-activated-during-.patch b/SOURCES/0057-feat-LinstorSr-ensure-LVM-group-is-activated-during-.patch similarity index 93% rename from SOURCES/0058-feat-LinstorSr-ensure-LVM-group-is-activated-during-.patch rename to SOURCES/0057-feat-LinstorSr-ensure-LVM-group-is-activated-during-.patch index f86173ad..ae84f079 100644 --- a/SOURCES/0058-feat-LinstorSr-ensure-LVM-group-is-activated-during-.patch +++ b/SOURCES/0057-feat-LinstorSr-ensure-LVM-group-is-activated-during-.patch @@ -1,7 +1,7 @@ -From dc48c3878151d9c23db4ca8c5a6247da70797d8c Mon Sep 17 00:00:00 2001 +From 2cccc3e329ab86d1ac0c2ce04151b6eb0bb6ffc3 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Thu, 14 Apr 2022 15:45:20 +0200 -Subject: [PATCH 058/178] feat(LinstorSr): ensure LVM group is activated during +Subject: [PATCH 057/177] feat(LinstorSr): ensure LVM group is activated during SR.attach/create Signed-off-by: Ronan Abhamon @@ -11,7 +11,7 @@ Signed-off-by: Ronan Abhamon 2 files changed, 19 insertions(+), 6 deletions(-) diff --git a/drivers/LinstorSR.py b/drivers/LinstorSR.py -index 927e477..e2d3d78 100755 +index 927e4771..e2d3d783 100755 --- a/drivers/LinstorSR.py +++ b/drivers/LinstorSR.py @@ -34,6 +34,7 @@ import cleanup @@ -82,7 +82,7 @@ index 927e477..e2d3d78 100755 def _update_minidrbdcluster(self, host, enabled): self._exec_manager_command( diff --git a/drivers/linstor-manager b/drivers/linstor-manager -index 7e34ce6..91731b1 100755 +index 7e34ce65..91731b1d 100755 --- a/drivers/linstor-manager +++ b/drivers/linstor-manager @@ -76,6 +76,8 @@ def update_minidrbdcluster_service(start): @@ -94,6 +94,3 @@ index 7e34ce6..91731b1 100755 update_all_ports(open=True) # We don't want to enable and start minidrbdcluster daemon during # SR creation. --- -2.46.0 - diff --git a/SOURCES/0059-feat-linstor-manager-add-method-to-create-LinstorSR-.patch b/SOURCES/0058-feat-linstor-manager-add-method-to-create-LinstorSR-.patch similarity index 97% rename from SOURCES/0059-feat-linstor-manager-add-method-to-create-LinstorSR-.patch rename to SOURCES/0058-feat-linstor-manager-add-method-to-create-LinstorSR-.patch index 44250d42..d07352d9 100644 --- a/SOURCES/0059-feat-linstor-manager-add-method-to-create-LinstorSR-.patch +++ b/SOURCES/0058-feat-linstor-manager-add-method-to-create-LinstorSR-.patch @@ -1,7 +1,7 @@ -From 705841677140a8163c1ff3df384002e1e03c2678 Mon Sep 17 00:00:00 2001 +From d894b639ca0d991a0f6107e725048f143283184a Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Mon, 25 Apr 2022 14:47:51 +0200 -Subject: [PATCH 059/178] feat(linstor-manager): add method to create LinstorSR +Subject: [PATCH 058/177] feat(linstor-manager): add method to create LinstorSR + to list/destroy DRBD volumes Signed-off-by: Ronan Abhamon @@ -10,7 +10,7 @@ Signed-off-by: Ronan Abhamon 1 file changed, 168 insertions(+), 11 deletions(-) diff --git a/drivers/linstor-manager b/drivers/linstor-manager -index 91731b1..7893ebc 100755 +index 91731b1d..7893ebc6 100755 --- a/drivers/linstor-manager +++ b/drivers/linstor-manager @@ -23,6 +23,7 @@ sys.path[0] = '/opt/xensource/sm/' @@ -242,6 +242,3 @@ index 91731b1..7893ebc 100755 + 'destroyDrbdVolume': destroy_drbd_volume, + 'destroyDrbdVolumes': destroy_drbd_volumes }) --- -2.46.0 - diff --git a/SOURCES/0060-fix-LinstorSR-always-set-vdi_path-in-generate_config.patch b/SOURCES/0059-fix-LinstorSR-always-set-vdi_path-in-generate_config.patch similarity index 84% rename from SOURCES/0060-fix-LinstorSR-always-set-vdi_path-in-generate_config.patch rename to SOURCES/0059-fix-LinstorSR-always-set-vdi_path-in-generate_config.patch index 96932fd4..50e0412e 100644 --- a/SOURCES/0060-fix-LinstorSR-always-set-vdi_path-in-generate_config.patch +++ b/SOURCES/0059-fix-LinstorSR-always-set-vdi_path-in-generate_config.patch @@ -1,7 +1,7 @@ -From 136b46200c12aa90dd246559107e0f742ccb66a7 Mon Sep 17 00:00:00 2001 +From 63c6eadebad6cbe766ce34cde2ccd0c097123bc8 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Tue, 26 Apr 2022 11:20:08 +0200 -Subject: [PATCH 060/178] fix(LinstorSR): always set vdi_path in +Subject: [PATCH 059/177] fix(LinstorSR): always set vdi_path in generate_config If the volume of a generated config is not related to HTTP/NBD @@ -14,7 +14,7 @@ Signed-off-by: Ronan Abhamon 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/LinstorSR.py b/drivers/LinstorSR.py -index e2d3d78..1855e3d 100755 +index e2d3d783..1855e3d9 100755 --- a/drivers/LinstorSR.py +++ b/drivers/LinstorSR.py @@ -1970,7 +1970,7 @@ class LinstorVDI(VDI.VDI): @@ -26,6 +26,3 @@ index e2d3d78..1855e3d 100755 else: # Axiom: DRBD device is present on at least one host. resp['vdi_path'] = '/dev/http-nbd/' + volume_name --- -2.46.0 - diff --git a/SOURCES/0061-fix-minidrbdcluster-supports-new-properties-like-for.patch b/SOURCES/0060-fix-minidrbdcluster-supports-new-properties-like-for.patch similarity index 87% rename from SOURCES/0061-fix-minidrbdcluster-supports-new-properties-like-for.patch rename to SOURCES/0060-fix-minidrbdcluster-supports-new-properties-like-for.patch index de60de7c..aafb754b 100644 --- a/SOURCES/0061-fix-minidrbdcluster-supports-new-properties-like-for.patch +++ b/SOURCES/0060-fix-minidrbdcluster-supports-new-properties-like-for.patch @@ -1,7 +1,7 @@ -From 49fad6ce14acee828ef7d5c90abbc1a4310b788c Mon Sep 17 00:00:00 2001 +From 37c83d87ca948e3fb808b10a6a6d210061ecfd96 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Fri, 13 May 2022 14:35:57 +0200 -Subject: [PATCH 061/178] fix(minidrbdcluster): supports new properties like +Subject: [PATCH 060/177] fix(minidrbdcluster): supports new properties like `force-io-failures` Signed-off-by: Ronan Abhamon @@ -10,7 +10,7 @@ Signed-off-by: Ronan Abhamon 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/scripts/minidrbdcluster b/scripts/minidrbdcluster -index a04b6c1..fb4de09 100755 +index a04b6c1c..fb4de09b 100755 --- a/scripts/minidrbdcluster +++ b/scripts/minidrbdcluster @@ -11,15 +11,15 @@ DRBDADM_OPEN_FAILED_RE = re.compile( @@ -32,6 +32,3 @@ index a04b6c1..fb4de09 100755 ) --- -2.46.0 - diff --git a/SOURCES/0062-fix-LinstorSR-enabled-disable-minidrbcluster-with-fi.patch b/SOURCES/0061-fix-LinstorSR-enabled-disable-minidrbcluster-with-fi.patch similarity index 94% rename from SOURCES/0062-fix-LinstorSR-enabled-disable-minidrbcluster-with-fi.patch rename to SOURCES/0061-fix-LinstorSR-enabled-disable-minidrbcluster-with-fi.patch index 5b285872..f9bb5970 100644 --- a/SOURCES/0062-fix-LinstorSR-enabled-disable-minidrbcluster-with-fi.patch +++ b/SOURCES/0061-fix-LinstorSR-enabled-disable-minidrbcluster-with-fi.patch @@ -1,7 +1,7 @@ -From c72704cc8eeb8c7ee16b9ff919c012613e58e9b9 Mon Sep 17 00:00:00 2001 +From 2f504ae5763d7f2f8cc82adb560d0ee714288468 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Wed, 18 May 2022 17:28:33 +0200 -Subject: [PATCH 062/178] fix(LinstorSR): enabled/disable minidrbcluster with +Subject: [PATCH 061/177] fix(LinstorSR): enabled/disable minidrbcluster with fixed order Ensure we disable minidrbdcluster during SR destruction on all hosts @@ -16,7 +16,7 @@ Signed-off-by: Ronan Abhamon 1 file changed, 31 insertions(+), 7 deletions(-) diff --git a/drivers/LinstorSR.py b/drivers/LinstorSR.py -index 1855e3d..57280e3 100755 +index 1855e3d9..57280e36 100755 --- a/drivers/LinstorSR.py +++ b/drivers/LinstorSR.py @@ -751,7 +751,9 @@ class LinstorSR(SR.SR): @@ -79,6 +79,3 @@ index 1855e3d..57280e3 100755 # -------------------------------------------------------------------------- # Metadata. --- -2.46.0 - diff --git a/SOURCES/0063-fix-linstor-manager-change-linstor-satellite-start-b.patch b/SOURCES/0062-fix-linstor-manager-change-linstor-satellite-start-b.patch similarity index 88% rename from SOURCES/0063-fix-linstor-manager-change-linstor-satellite-start-b.patch rename to SOURCES/0062-fix-linstor-manager-change-linstor-satellite-start-b.patch index cbbc3661..1ff3d5e9 100644 --- a/SOURCES/0063-fix-linstor-manager-change-linstor-satellite-start-b.patch +++ b/SOURCES/0062-fix-linstor-manager-change-linstor-satellite-start-b.patch @@ -1,7 +1,7 @@ -From 753d654a5f81243b6c7a28880b5936ff0a4077c5 Mon Sep 17 00:00:00 2001 +From 19fb18336d842dd9a1dd500705d06887fb777d59 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Tue, 31 May 2022 14:01:45 +0200 -Subject: [PATCH 063/178] fix(linstor-manager): change linstor satellite start +Subject: [PATCH 062/177] fix(linstor-manager): change linstor satellite start behavior Ensure we don't have an invalid cache used by a satellite: @@ -15,7 +15,7 @@ Signed-off-by: Ronan Abhamon 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/drivers/linstor-manager b/drivers/linstor-manager -index 7893ebc..c6d622f 100755 +index 7893ebc6..c6d622f2 100755 --- a/drivers/linstor-manager +++ b/drivers/linstor-manager @@ -61,7 +61,16 @@ def update_all_ports(open): @@ -36,6 +36,3 @@ index 7893ebc..c6d622f 100755 def update_minidrbdcluster_service(start): --- -2.46.0 - diff --git a/SOURCES/0064-Fix-is_open-call-for-LinstorSR.patch b/SOURCES/0063-Fix-is_open-call-for-LinstorSR.patch similarity index 94% rename from SOURCES/0064-Fix-is_open-call-for-LinstorSR.patch rename to SOURCES/0063-Fix-is_open-call-for-LinstorSR.patch index 280d7a3d..1339e9c7 100644 --- a/SOURCES/0064-Fix-is_open-call-for-LinstorSR.patch +++ b/SOURCES/0063-Fix-is_open-call-for-LinstorSR.patch @@ -1,7 +1,7 @@ -From 1a7b9177a0975ef6663607077797d3fe00b73bc6 Mon Sep 17 00:00:00 2001 +From e2bc621e6f8796577a6069cd597ea4b77214de4e Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Thu, 2 Jun 2022 09:04:28 +0200 -Subject: [PATCH 064/178] Fix is_open call for LinstorSR +Subject: [PATCH 063/177] Fix is_open call for LinstorSR 1. Ensure LinstorSR driver is imported in `_is_open` definition to register it in the driver list. Otherwise this function always fails with a SRUnknownType exception. @@ -17,7 +17,7 @@ Signed-off-by: Ronan Abhamon 3 files changed, 34 insertions(+), 3 deletions(-) diff --git a/drivers/LinstorSR.py b/drivers/LinstorSR.py -index 57280e3..e5f6f85 100755 +index 57280e36..e5f6f85c 100755 --- a/drivers/LinstorSR.py +++ b/drivers/LinstorSR.py @@ -445,7 +445,11 @@ class LinstorSR(SR.SR): @@ -45,7 +45,7 @@ index 57280e3..e5f6f85 100755 if not self._is_master: diff --git a/drivers/on_slave.py b/drivers/on_slave.py -index 3c7bd34..bbef4f7 100755 +index 3c7bd340..bbef4f7f 100755 --- a/drivers/on_slave.py +++ b/drivers/on_slave.py @@ -78,6 +78,7 @@ def _is_open(session, args): @@ -81,7 +81,7 @@ index 3c7bd34..bbef4f7 100755 tapdisk = blktap2.Tapdisk.find_by_path(vdi.path) util.SMlog("Tapdisk for %s: %s" % (vdi.path, tapdisk)) diff --git a/tests/test_on_slave.py b/tests/test_on_slave.py -index 54ebcd3..4c12d90 100644 +index 54ebcd38..4c12d903 100644 --- a/tests/test_on_slave.py +++ b/tests/test_on_slave.py @@ -13,7 +13,15 @@ import on_slave @@ -101,6 +101,3 @@ index 54ebcd3..4c12d90 100644 def fake_import(self, name, *args): print 'Asked to import {}'.format(name) --- -2.46.0 - diff --git a/SOURCES/0065-fix-linstorvhdutil-fix-boolean-params-of-check-call.patch b/SOURCES/0064-fix-linstorvhdutil-fix-boolean-params-of-check-call.patch similarity index 89% rename from SOURCES/0065-fix-linstorvhdutil-fix-boolean-params-of-check-call.patch rename to SOURCES/0064-fix-linstorvhdutil-fix-boolean-params-of-check-call.patch index 8b21e2fe..9b192c05 100644 --- a/SOURCES/0065-fix-linstorvhdutil-fix-boolean-params-of-check-call.patch +++ b/SOURCES/0064-fix-linstorvhdutil-fix-boolean-params-of-check-call.patch @@ -1,7 +1,7 @@ -From d03d8fb5ef8790e9de1229200c8cd5e873990026 Mon Sep 17 00:00:00 2001 +From c79461cbeb989b08183945503225227fa73a2e6c Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Thu, 2 Jun 2022 09:28:32 +0200 -Subject: [PATCH 065/178] fix(linstorvhdutil): fix boolean params of `check` +Subject: [PATCH 064/177] fix(linstorvhdutil): fix boolean params of `check` call `ignoreMissingFooter` and `fast` must be string types to be used with XAPI plugin API. @@ -13,7 +13,7 @@ Signed-off-by: Ronan Abhamon 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/drivers/linstor-manager b/drivers/linstor-manager -index c6d622f..63c0e3e 100755 +index c6d622f2..63c0e3ed 100755 --- a/drivers/linstor-manager +++ b/drivers/linstor-manager @@ -289,8 +289,10 @@ def destroy(session, args): @@ -30,7 +30,7 @@ index c6d622f..63c0e3e 100755 except Exception as e: util.SMlog('linstor-manager:check error: {}'.format(e)) diff --git a/drivers/linstorvhdutil.py b/drivers/linstorvhdutil.py -index 9ba0ac3..f3d9870 100644 +index 9ba0ac3b..f3d98705 100644 --- a/drivers/linstorvhdutil.py +++ b/drivers/linstorvhdutil.py @@ -111,7 +111,10 @@ class LinstorVhdUtil: @@ -45,6 +45,3 @@ index 9ba0ac3..f3d9870 100644 return self._check(vdi_uuid, **kwargs) @linstorhostcall(vhdutil.check, 'check') --- -2.46.0 - diff --git a/SOURCES/0066-feat-linstor-manager-robustify-exec_create_sr.patch b/SOURCES/0065-feat-linstor-manager-robustify-exec_create_sr.patch similarity index 97% rename from SOURCES/0066-feat-linstor-manager-robustify-exec_create_sr.patch rename to SOURCES/0065-feat-linstor-manager-robustify-exec_create_sr.patch index 3eee1817..d360d5de 100644 --- a/SOURCES/0066-feat-linstor-manager-robustify-exec_create_sr.patch +++ b/SOURCES/0065-feat-linstor-manager-robustify-exec_create_sr.patch @@ -1,7 +1,7 @@ -From 78820c47841ddce844286d12a590bd04c8b7f065 Mon Sep 17 00:00:00 2001 +From 9e7343c5d6fb5db9cbb652cad65e11102d4f233c Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Thu, 30 Jun 2022 17:09:51 +0200 -Subject: [PATCH 066/178] feat(linstor-manager): robustify exec_create_sr +Subject: [PATCH 065/177] feat(linstor-manager): robustify exec_create_sr - Use lvm.py XCP-ng xapi plugins instead of lvm (old name) - Check arguments to create the SR @@ -15,7 +15,7 @@ Signed-off-by: Ronan Abhamon 1 file changed, 78 insertions(+), 34 deletions(-) diff --git a/drivers/linstor-manager b/drivers/linstor-manager -index 63c0e3e..2930a9e 100755 +index 63c0e3ed..2930a9ed 100755 --- a/drivers/linstor-manager +++ b/drivers/linstor-manager @@ -36,7 +36,7 @@ import util @@ -201,6 +201,3 @@ index 63c0e3e..2930a9e 100755 except Exception as e: util.SMlog('linstor-manager:create_sr error: {}'.format(e)) raise --- -2.46.0 - diff --git a/SOURCES/0067-fix-cleanup-print-LINSTOR-VDI-UUID-if-error-during-i.patch b/SOURCES/0066-fix-cleanup-print-LINSTOR-VDI-UUID-if-error-during-i.patch similarity index 80% rename from SOURCES/0067-fix-cleanup-print-LINSTOR-VDI-UUID-if-error-during-i.patch rename to SOURCES/0066-fix-cleanup-print-LINSTOR-VDI-UUID-if-error-during-i.patch index 81296324..1a988937 100644 --- a/SOURCES/0067-fix-cleanup-print-LINSTOR-VDI-UUID-if-error-during-i.patch +++ b/SOURCES/0066-fix-cleanup-print-LINSTOR-VDI-UUID-if-error-during-i.patch @@ -1,7 +1,7 @@ -From a4922a1709c39af0a7c1a9808bbf7bc03300fcd4 Mon Sep 17 00:00:00 2001 +From 6a3d970ee0c6c49d859bd1a9b12e8cb9d3df960a Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Fri, 8 Jul 2022 14:52:25 +0200 -Subject: [PATCH 067/178] fix(cleanup): print LINSTOR VDI UUID if error during +Subject: [PATCH 066/177] fix(cleanup): print LINSTOR VDI UUID if error during info loading (not SR UUID) Signed-off-by: Ronan Abhamon @@ -10,7 +10,7 @@ Signed-off-by: Ronan Abhamon 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/cleanup.py b/drivers/cleanup.py -index 9e3a5b0..7eeeee7 100755 +index 9e3a5b07..7eeeee7f 100755 --- a/drivers/cleanup.py +++ b/drivers/cleanup.py @@ -2974,7 +2974,7 @@ class LinstorSR(SR): @@ -22,6 +22,3 @@ index 9e3a5b0..7eeeee7 100755 ) info = vhdutil.VHDInfo(vdi_uuid) info.error = 1 --- -2.46.0 - diff --git a/SOURCES/0068-feat-cleanup-raise-and-dump-DRBD-openers-in-case-of-.patch b/SOURCES/0067-feat-cleanup-raise-and-dump-DRBD-openers-in-case-of-.patch similarity index 95% rename from SOURCES/0068-feat-cleanup-raise-and-dump-DRBD-openers-in-case-of-.patch rename to SOURCES/0067-feat-cleanup-raise-and-dump-DRBD-openers-in-case-of-.patch index 16321499..1059788e 100644 --- a/SOURCES/0068-feat-cleanup-raise-and-dump-DRBD-openers-in-case-of-.patch +++ b/SOURCES/0067-feat-cleanup-raise-and-dump-DRBD-openers-in-case-of-.patch @@ -1,7 +1,7 @@ -From 08c339d4c31048e5d979712dad5adb4cf82c95c7 Mon Sep 17 00:00:00 2001 +From 33646cc76f298aab9e3fc6bd046cba3820992152 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Thu, 21 Jul 2022 11:39:20 +0200 -Subject: [PATCH 068/178] feat(cleanup): raise and dump DRBD openers in case of +Subject: [PATCH 067/177] feat(cleanup): raise and dump DRBD openers in case of bad coalesce Signed-off-by: Ronan Abhamon @@ -12,7 +12,7 @@ Signed-off-by: Ronan Abhamon 3 files changed, 70 insertions(+), 18 deletions(-) diff --git a/drivers/cleanup.py b/drivers/cleanup.py -index 7eeeee7..0a586a6 100755 +index 7eeeee7f..0a586a67 100755 --- a/drivers/cleanup.py +++ b/drivers/cleanup.py @@ -3079,27 +3079,17 @@ class LinstorSR(SR): @@ -51,7 +51,7 @@ index 7eeeee7..0a586a6 100755 ################################################################################ # diff --git a/drivers/linstor-manager b/drivers/linstor-manager -index 2930a9e..81789e7 100755 +index 2930a9ed..81789e7a 100755 --- a/drivers/linstor-manager +++ b/drivers/linstor-manager @@ -823,6 +823,43 @@ def destroy_drbd_volumes(session, args): @@ -107,7 +107,7 @@ index 2930a9e..81789e7 100755 + 'getDrbdOpeners': get_drbd_openers }) diff --git a/drivers/linstorvolumemanager.py b/drivers/linstorvolumemanager.py -index 430e080..d17845b 100755 +index 430e080b..d17845b5 100755 --- a/drivers/linstorvolumemanager.py +++ b/drivers/linstorvolumemanager.py @@ -1048,6 +1048,30 @@ class LinstorVolumeManager(object): @@ -141,6 +141,3 @@ index 430e080..d17845b 100755 def get_volumes_with_name(self): """ Give a volume dictionnary that contains names actually owned. --- -2.46.0 - diff --git a/SOURCES/0069-feat-linstorvhdutil-trace-DRBD-openers-in-case-of-ER.patch b/SOURCES/0068-feat-linstorvhdutil-trace-DRBD-openers-in-case-of-ER.patch similarity index 96% rename from SOURCES/0069-feat-linstorvhdutil-trace-DRBD-openers-in-case-of-ER.patch rename to SOURCES/0068-feat-linstorvhdutil-trace-DRBD-openers-in-case-of-ER.patch index 64ec0f74..231169a4 100644 --- a/SOURCES/0069-feat-linstorvhdutil-trace-DRBD-openers-in-case-of-ER.patch +++ b/SOURCES/0068-feat-linstorvhdutil-trace-DRBD-openers-in-case-of-ER.patch @@ -1,7 +1,7 @@ -From 0e6bde3144a0b8cf47aa5e569e6e42b39603bb00 Mon Sep 17 00:00:00 2001 +From dcbe12dda63c69dcca867e59a933d481ca611ed5 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Fri, 22 Jul 2022 10:26:20 +0200 -Subject: [PATCH 069/178] feat(linstorvhdutil): trace DRBD openers in case of +Subject: [PATCH 068/177] feat(linstorvhdutil): trace DRBD openers in case of EROFS errors Signed-off-by: Ronan Abhamon @@ -11,7 +11,7 @@ Signed-off-by: Ronan Abhamon 2 files changed, 47 insertions(+), 9 deletions(-) diff --git a/drivers/linstor-manager b/drivers/linstor-manager -index 81789e7..9022499 100755 +index 81789e7a..9022499f 100755 --- a/drivers/linstor-manager +++ b/drivers/linstor-manager @@ -868,6 +868,13 @@ if __name__ == '__main__': @@ -37,7 +37,7 @@ index 81789e7..9022499 100755 'lsofResource': lsof_resource, 'hasControllerRunning': has_controller_running, diff --git a/drivers/linstorvhdutil.py b/drivers/linstorvhdutil.py -index f3d9870..d6a21c2 100644 +index f3d98705..d6a21c26 100644 --- a/drivers/linstorvhdutil.py +++ b/drivers/linstorvhdutil.py @@ -26,6 +26,36 @@ import xs_errors @@ -130,6 +130,3 @@ index f3d9870..d6a21c2 100644 # -------------------------------------------------------------------------- # Helpers. --- -2.46.0 - diff --git a/SOURCES/0070-fix-linstorvolumemanager-compute-correctly-size-in-a.patch b/SOURCES/0069-fix-linstorvolumemanager-compute-correctly-size-in-a.patch similarity index 95% rename from SOURCES/0070-fix-linstorvolumemanager-compute-correctly-size-in-a.patch rename to SOURCES/0069-fix-linstorvolumemanager-compute-correctly-size-in-a.patch index be2bce35..a7f0a3c3 100644 --- a/SOURCES/0070-fix-linstorvolumemanager-compute-correctly-size-in-a.patch +++ b/SOURCES/0069-fix-linstorvolumemanager-compute-correctly-size-in-a.patch @@ -1,7 +1,7 @@ -From 4ac2809b987876231912df71bdc6aed6fb02822a Mon Sep 17 00:00:00 2001 +From ae44d362aa63e21cef6466ed1bdd714450f8e5d5 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Fri, 29 Jul 2022 17:25:48 +0200 -Subject: [PATCH 070/178] fix(linstorvolumemanager): compute correctly size in +Subject: [PATCH 069/177] fix(linstorvolumemanager): compute correctly size in allocated_volume_size Remove replication count in computation. @@ -12,7 +12,7 @@ Signed-off-by: Ronan Abhamon 1 file changed, 23 insertions(+), 36 deletions(-) diff --git a/drivers/linstorvolumemanager.py b/drivers/linstorvolumemanager.py -index d17845b..3806cc9 100755 +index d17845b5..3806cc91 100755 --- a/drivers/linstorvolumemanager.py +++ b/drivers/linstorvolumemanager.py @@ -481,28 +481,6 @@ class LinstorVolumeManager(object): @@ -93,6 +93,3 @@ index d17845b..3806cc9 100755 @property def metadata(self): --- -2.46.0 - diff --git a/SOURCES/0071-feat-LinstorSR-use-DRBD-openers-instead-of-lsof-to-l.patch b/SOURCES/0070-feat-LinstorSR-use-DRBD-openers-instead-of-lsof-to-l.patch similarity index 98% rename from SOURCES/0071-feat-LinstorSR-use-DRBD-openers-instead-of-lsof-to-l.patch rename to SOURCES/0070-feat-LinstorSR-use-DRBD-openers-instead-of-lsof-to-l.patch index 14044189..c35851d6 100644 --- a/SOURCES/0071-feat-LinstorSR-use-DRBD-openers-instead-of-lsof-to-l.patch +++ b/SOURCES/0070-feat-LinstorSR-use-DRBD-openers-instead-of-lsof-to-l.patch @@ -1,7 +1,7 @@ -From 40e0621614ab4334c1edc21e88ae24d5e72df7d6 Mon Sep 17 00:00:00 2001 +From 733349b9af6b62531380da9490d72196e3b112f2 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Tue, 9 Aug 2022 11:07:57 +0200 -Subject: [PATCH 071/178] feat(LinstorSR): use DRBD openers instead of lsof to +Subject: [PATCH 070/177] feat(LinstorSR): use DRBD openers instead of lsof to log in blktap2 Signed-off-by: Ronan Abhamon @@ -12,7 +12,7 @@ Signed-off-by: Ronan Abhamon 3 files changed, 100 insertions(+), 128 deletions(-) diff --git a/drivers/blktap2.py b/drivers/blktap2.py -index 14c564e..370f7fb 100755 +index 14c564e6..370f7fb8 100755 --- a/drivers/blktap2.py +++ b/drivers/blktap2.py @@ -36,7 +36,7 @@ import json @@ -34,7 +34,7 @@ index 14c564e..370f7fb 100755 try: tapdisk = cls.__from_blktap(blktap) diff --git a/drivers/linstor-manager b/drivers/linstor-manager -index 9022499..4d0ba29 100755 +index 9022499f..4d0ba299 100755 --- a/drivers/linstor-manager +++ b/drivers/linstor-manager @@ -27,7 +27,7 @@ import XenAPI @@ -114,7 +114,7 @@ index 9022499..4d0ba29 100755 'addHost': add_host, 'removeHost': remove_host, diff --git a/drivers/linstorvolumemanager.py b/drivers/linstorvolumemanager.py -index 3806cc9..6f4c590 100755 +index 3806cc91..6f4c5900 100755 --- a/drivers/linstorvolumemanager.py +++ b/drivers/linstorvolumemanager.py @@ -45,81 +45,56 @@ DRBD_BY_RES_PATH = '/dev/drbd/by-res/' @@ -322,6 +322,3 @@ index 3806cc9..6f4c590 100755 + 'Got exception while trying to determine where DRBD resource ' + + '`{}` is open: {}'.format(path, e) + ) --- -2.46.0 - diff --git a/SOURCES/0072-feat-LinstorSR-support-cProfile-to-trace-calls-when-.patch b/SOURCES/0071-feat-LinstorSR-support-cProfile-to-trace-calls-when-.patch similarity index 92% rename from SOURCES/0072-feat-LinstorSR-support-cProfile-to-trace-calls-when-.patch rename to SOURCES/0071-feat-LinstorSR-support-cProfile-to-trace-calls-when-.patch index 2ffc5bc7..9831a71d 100644 --- a/SOURCES/0072-feat-LinstorSR-support-cProfile-to-trace-calls-when-.patch +++ b/SOURCES/0071-feat-LinstorSR-support-cProfile-to-trace-calls-when-.patch @@ -1,7 +1,7 @@ -From 2bf415703e247e502c8e036ce9a3216888ceab37 Mon Sep 17 00:00:00 2001 +From 170ea7ee20c8bfab0d6a55605fa8484241161587 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Thu, 25 Aug 2022 12:11:18 +0200 -Subject: [PATCH 072/178] feat(LinstorSR): support cProfile to trace calls when +Subject: [PATCH 071/177] feat(LinstorSR): support cProfile to trace calls when a command is executed Signed-off-by: Ronan Abhamon @@ -11,7 +11,7 @@ Signed-off-by: Ronan Abhamon 2 files changed, 52 insertions(+), 1 deletion(-) diff --git a/drivers/LinstorSR.py b/drivers/LinstorSR.py -index e5f6f85..00554d7 100755 +index e5f6f85c..00554d73 100755 --- a/drivers/LinstorSR.py +++ b/drivers/LinstorSR.py @@ -69,6 +69,9 @@ FORK_LOG_DAEMON = '/opt/xensource/libexec/fork-log-daemon' @@ -39,7 +39,7 @@ index e5f6f85..00554d7 100755 else: SR.registerSR(LinstorSR) diff --git a/drivers/util.py b/drivers/util.py -index 7c52703..fe8e13d 100755 +index 7c52703c..fe8e13d1 100755 --- a/drivers/util.py +++ b/drivers/util.py @@ -1862,3 +1862,45 @@ def check_pid_exists(pid): @@ -88,6 +88,3 @@ index 7c52703..fe8e13d 100755 + cProfile.runctx('function()', None, locals(), profile_path) + finally: + SMlog('* End profiling of {} ({}) *'.format(name, filename)) --- -2.46.0 - diff --git a/SOURCES/0073-fix-LinstorJournaler-reset-namespace-when-get-is-cal.patch b/SOURCES/0072-fix-LinstorJournaler-reset-namespace-when-get-is-cal.patch similarity index 79% rename from SOURCES/0073-fix-LinstorJournaler-reset-namespace-when-get-is-cal.patch rename to SOURCES/0072-fix-LinstorJournaler-reset-namespace-when-get-is-cal.patch index 823a1dc6..41bf4392 100644 --- a/SOURCES/0073-fix-LinstorJournaler-reset-namespace-when-get-is-cal.patch +++ b/SOURCES/0072-fix-LinstorJournaler-reset-namespace-when-get-is-cal.patch @@ -1,7 +1,7 @@ -From e2900bfd2689841a1230bfbbe9e5c34b735503ea Mon Sep 17 00:00:00 2001 +From d37e13c669d78f79f3004216f1d9f6a0abb9b715 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Wed, 24 Aug 2022 17:09:11 +0200 -Subject: [PATCH 073/178] fix(LinstorJournaler): reset namespace when `get` is +Subject: [PATCH 072/177] fix(LinstorJournaler): reset namespace when `get` is called Otherwise, we can be in the wrong namespace and the key to find will be inaccessible. @@ -10,7 +10,7 @@ Otherwise, we can be in the wrong namespace and the key to find will be inaccess 1 file changed, 1 insertion(+) diff --git a/drivers/linstorjournaler.py b/drivers/linstorjournaler.py -index 3993f60..1e85ec9 100755 +index 3993f601..1e85ec96 100755 --- a/drivers/linstorjournaler.py +++ b/drivers/linstorjournaler.py @@ -107,6 +107,7 @@ class LinstorJournaler: @@ -21,6 +21,3 @@ index 3993f60..1e85ec9 100755 return self._journal.get(self._get_key(type, identifier)) def get_all(self, type): --- -2.46.0 - diff --git a/SOURCES/0074-fix-linstorvhdutil-fix-coalesce-with-VM-running-unde.patch b/SOURCES/0073-fix-linstorvhdutil-fix-coalesce-with-VM-running-unde.patch similarity index 98% rename from SOURCES/0074-fix-linstorvhdutil-fix-coalesce-with-VM-running-unde.patch rename to SOURCES/0073-fix-linstorvhdutil-fix-coalesce-with-VM-running-unde.patch index 0a2040a9..cad95882 100644 --- a/SOURCES/0074-fix-linstorvhdutil-fix-coalesce-with-VM-running-unde.patch +++ b/SOURCES/0073-fix-linstorvhdutil-fix-coalesce-with-VM-running-unde.patch @@ -1,7 +1,7 @@ -From 640c28db2bd83893634fa8740abbbd1023cee0ab Mon Sep 17 00:00:00 2001 +From af350e7b30f8ea365231bf43c42991b7be13ed31 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Thu, 25 Aug 2022 10:54:56 +0200 -Subject: [PATCH 074/178] fix(linstorvhdutil): fix coalesce with VM running +Subject: [PATCH 073/177] fix(linstorvhdutil): fix coalesce with VM running under specific scenario: When a VM is running, we can't coalesce without this patch with a long chain @@ -21,7 +21,7 @@ Impacted vhd-util functions: coalesce, getParent, repair. 5 files changed, 251 insertions(+), 94 deletions(-) diff --git a/drivers/LinstorSR.py b/drivers/LinstorSR.py -index 00554d7..47ac3c8 100755 +index 00554d73..47ac3c85 100755 --- a/drivers/LinstorSR.py +++ b/drivers/LinstorSR.py @@ -163,7 +163,9 @@ def attach_thin(session, journaler, linstor, sr_uuid, vdi_uuid): @@ -59,7 +59,7 @@ index 00554d7..47ac3c8 100755 # 4.c. Update CBT status of disks either just added # or already in XAPI. diff --git a/drivers/cleanup.py b/drivers/cleanup.py -index 0a586a6..7329363 100755 +index 0a586a67..73293632 100755 --- a/drivers/cleanup.py +++ b/drivers/cleanup.py @@ -840,12 +840,14 @@ class VDI(object): @@ -110,7 +110,7 @@ index 0a586a6..7329363 100755 HIDDEN_TAG = 'hidden' diff --git a/drivers/linstor-manager b/drivers/linstor-manager -index 4d0ba29..5485b90 100755 +index 4d0ba299..5485b900 100755 --- a/drivers/linstor-manager +++ b/drivers/linstor-manager @@ -416,6 +416,37 @@ def get_block_bitmap(session, args): @@ -165,7 +165,7 @@ index 4d0ba29..5485b90 100755 'hasControllerRunning': has_controller_running, 'addHost': add_host, diff --git a/drivers/linstorvhdutil.py b/drivers/linstorvhdutil.py -index d6a21c2..4d031e1 100644 +index d6a21c26..4d031e12 100644 --- a/drivers/linstorvhdutil.py +++ b/drivers/linstorvhdutil.py @@ -25,39 +25,30 @@ import xs_errors @@ -534,7 +534,7 @@ index d6a21c2..4d031e1 100644 + ) + return util.retry(remote_call, 5, 2) diff --git a/drivers/vhdutil.py b/drivers/vhdutil.py -index 0a8fe91..d75edb1 100755 +index 0a8fe918..d75edb11 100755 --- a/drivers/vhdutil.py +++ b/drivers/vhdutil.py @@ -97,9 +97,8 @@ def calcOverheadFull(virtual_size): @@ -549,6 +549,3 @@ index 0a8fe91..d75edb1 100755 def getVHDInfo(path, extractUuidFunction, includeParent = True): """Get the VHD info. The parent info may optionally be omitted: vhd-util --- -2.46.0 - diff --git a/SOURCES/0075-fix-linstorvolumemanager-_get_volumes_info-doesn-t-r.patch b/SOURCES/0074-fix-linstorvolumemanager-_get_volumes_info-doesn-t-r.patch similarity index 91% rename from SOURCES/0075-fix-linstorvolumemanager-_get_volumes_info-doesn-t-r.patch rename to SOURCES/0074-fix-linstorvolumemanager-_get_volumes_info-doesn-t-r.patch index ed44f497..300d1136 100644 --- a/SOURCES/0075-fix-linstorvolumemanager-_get_volumes_info-doesn-t-r.patch +++ b/SOURCES/0074-fix-linstorvolumemanager-_get_volumes_info-doesn-t-r.patch @@ -1,7 +1,7 @@ -From af2068715b685b59877d80e2328c10c6dc14318b Mon Sep 17 00:00:00 2001 +From 76515eccadb3ce54ae1bba0eab549fea29986a99 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Mon, 5 Sep 2022 15:09:17 +0200 -Subject: [PATCH 075/178] fix(linstorvolumemanager): `_get_volumes_info` +Subject: [PATCH 074/177] fix(linstorvolumemanager): `_get_volumes_info` doesn't raise with offline host Ensure this method doesn't raise an exception when a host is offline. @@ -14,7 +14,7 @@ Signed-off-by: Ronan Abhamon 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/drivers/linstorvolumemanager.py b/drivers/linstorvolumemanager.py -index 6f4c590..a1bc151 100755 +index 6f4c5900..a1bc151e 100755 --- a/drivers/linstorvolumemanager.py +++ b/drivers/linstorvolumemanager.py @@ -1789,15 +1789,18 @@ class LinstorVolumeManager(object): @@ -45,6 +45,3 @@ index 6f4c590..a1bc151 100755 for current in all_volume_info.values(): current.allocated_size *= 1024 --- -2.46.0 - diff --git a/SOURCES/0076-fix-linstorvolumemanager-remove-double-prefix-on-kv-.patch b/SOURCES/0075-fix-linstorvolumemanager-remove-double-prefix-on-kv-.patch similarity index 87% rename from SOURCES/0076-fix-linstorvolumemanager-remove-double-prefix-on-kv-.patch rename to SOURCES/0075-fix-linstorvolumemanager-remove-double-prefix-on-kv-.patch index e2bc6a51..6df4b483 100644 --- a/SOURCES/0076-fix-linstorvolumemanager-remove-double-prefix-on-kv-.patch +++ b/SOURCES/0075-fix-linstorvolumemanager-remove-double-prefix-on-kv-.patch @@ -1,7 +1,7 @@ -From 43ecef813014a86cd92c70e0411f725c24714fe9 Mon Sep 17 00:00:00 2001 +From 698b2a33e16f94449e4564daa10d85d4bfccb2cb Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Mon, 12 Sep 2022 15:56:09 +0200 -Subject: [PATCH 076/178] fix(linstorvolumemanager): remove double prefix on kv +Subject: [PATCH 075/177] fix(linstorvolumemanager): remove double prefix on kv group name - Before this patch, when the kv store was created/accessed, a double "xcp-sr-" prefix was used. @@ -13,7 +13,7 @@ Signed-off-by: Ronan Abhamon 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/drivers/linstorvolumemanager.py b/drivers/linstorvolumemanager.py -index a1bc151..3ee5d24 100755 +index a1bc151e..3ee5d248 100755 --- a/drivers/linstorvolumemanager.py +++ b/drivers/linstorvolumemanager.py @@ -2195,7 +2195,7 @@ class LinstorVolumeManager(object): @@ -35,6 +35,3 @@ index a1bc151..3ee5d24 100755 @classmethod def _build_sr_namespace(cls): return '/{}/'.format(cls.NAMESPACE_SR) --- -2.46.0 - diff --git a/SOURCES/0077-feat-LinstorSR-add-linstor-kv-dump-helper-to-print-k.patch b/SOURCES/0076-feat-LinstorSR-add-linstor-kv-dump-helper-to-print-k.patch similarity index 90% rename from SOURCES/0077-feat-LinstorSR-add-linstor-kv-dump-helper-to-print-k.patch rename to SOURCES/0076-feat-LinstorSR-add-linstor-kv-dump-helper-to-print-k.patch index 80f0d640..7162d1b3 100644 --- a/SOURCES/0077-feat-LinstorSR-add-linstor-kv-dump-helper-to-print-k.patch +++ b/SOURCES/0076-feat-LinstorSR-add-linstor-kv-dump-helper-to-print-k.patch @@ -1,7 +1,7 @@ -From 494ecc96c37cb01698c825c00f9ddb3e5c6f53c3 Mon Sep 17 00:00:00 2001 +From 5842086d84d5faf487917e0cd931902f94877c97 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Mon, 12 Sep 2022 17:54:57 +0200 -Subject: [PATCH 077/178] feat(LinstorSR): add linstor-kv-dump helper to print +Subject: [PATCH 076/177] feat(LinstorSR): add linstor-kv-dump helper to print kv store Signed-off-by: Ronan Abhamon @@ -12,10 +12,10 @@ Signed-off-by: Ronan Abhamon create mode 100755 scripts/linstor-kv-dump diff --git a/Makefile b/Makefile -index 992d9ef..5cdecab 100755 +index af1011a1..aa71f809 100755 --- a/Makefile +++ b/Makefile -@@ -235,6 +235,7 @@ install: precheck +@@ -240,6 +240,7 @@ install: precheck install -m 755 drivers/fcoelib.py $(SM_STAGING)$(SM_DEST) mkdir -p $(SM_STAGING)$(LIBEXEC) install -m 755 scripts/fork-log-daemon $(SM_STAGING)$(LIBEXEC) @@ -25,7 +25,7 @@ index 992d9ef..5cdecab 100755 install -m 755 scripts/usb_change $(SM_STAGING)$(LIBEXEC) diff --git a/scripts/linstor-kv-dump b/scripts/linstor-kv-dump new file mode 100755 -index 0000000..93598d7 +index 00000000..93598d7c --- /dev/null +++ b/scripts/linstor-kv-dump @@ -0,0 +1,38 @@ @@ -67,6 +67,3 @@ index 0000000..93598d7 + +if __name__ == '__main__': + main() --- -2.46.0 - diff --git a/SOURCES/0078-fix-LinstorSR-disable-VHD-key-hash-usage-to-limit-ex.patch b/SOURCES/0077-fix-LinstorSR-disable-VHD-key-hash-usage-to-limit-ex.patch similarity index 87% rename from SOURCES/0078-fix-LinstorSR-disable-VHD-key-hash-usage-to-limit-ex.patch rename to SOURCES/0077-fix-LinstorSR-disable-VHD-key-hash-usage-to-limit-ex.patch index f67bf36d..853331dd 100644 --- a/SOURCES/0078-fix-LinstorSR-disable-VHD-key-hash-usage-to-limit-ex.patch +++ b/SOURCES/0077-fix-LinstorSR-disable-VHD-key-hash-usage-to-limit-ex.patch @@ -1,7 +1,7 @@ -From 59c9be98c2eeeb37e15c76874ca62071dab4c164 Mon Sep 17 00:00:00 2001 +From 7928957e8d34e46b990d58da2f9264b4984da5cd Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Wed, 14 Sep 2022 10:17:18 +0200 -Subject: [PATCH 078/178] fix(LinstorSR): disable VHD key hash usage to limit +Subject: [PATCH 077/177] fix(LinstorSR): disable VHD key hash usage to limit exec time Signed-off-by: Ronan Abhamon @@ -10,7 +10,7 @@ Signed-off-by: Ronan Abhamon 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/drivers/LinstorSR.py b/drivers/LinstorSR.py -index 47ac3c8..374d6cb 100755 +index 47ac3c85..374d6cb9 100755 --- a/drivers/LinstorSR.py +++ b/drivers/LinstorSR.py @@ -72,6 +72,9 @@ USE_HTTP_NBD_SERVERS = True @@ -32,6 +32,3 @@ index 47ac3c8..374d6cb 100755 # TODO: Replace pylint comment with this feature when possible: # https://github.com/PyCQA/pylint/pull/2926 vdi.sm_config_override['key_hash'] = \ --- -2.46.0 - diff --git a/SOURCES/0079-fix-minidrbdcluster-ensure-SIGINT-is-handled-correct.patch b/SOURCES/0078-fix-minidrbdcluster-ensure-SIGINT-is-handled-correct.patch similarity index 93% rename from SOURCES/0079-fix-minidrbdcluster-ensure-SIGINT-is-handled-correct.patch rename to SOURCES/0078-fix-minidrbdcluster-ensure-SIGINT-is-handled-correct.patch index a894d010..48091d6e 100644 --- a/SOURCES/0079-fix-minidrbdcluster-ensure-SIGINT-is-handled-correct.patch +++ b/SOURCES/0078-fix-minidrbdcluster-ensure-SIGINT-is-handled-correct.patch @@ -1,7 +1,7 @@ -From 730853aa446f399f3acecb0afa7783ea36ed5240 Mon Sep 17 00:00:00 2001 +From edc4069d907e24bb4b3e908eb7f2547967219cfe Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Thu, 15 Sep 2022 11:34:25 +0200 -Subject: [PATCH 079/178] fix(minidrbdcluster): ensure SIGINT is handled +Subject: [PATCH 078/177] fix(minidrbdcluster): ensure SIGINT is handled correctly This patch is here to make sure no LINSTOR controller survives when @@ -20,7 +20,7 @@ Signed-off-by: Ronan Abhamon 2 files changed, 27 insertions(+), 9 deletions(-) diff --git a/scripts/minidrbdcluster b/scripts/minidrbdcluster -index fb4de09..4cdc59e 100755 +index fb4de09b..4cdc59e6 100755 --- a/scripts/minidrbdcluster +++ b/scripts/minidrbdcluster @@ -1,7 +1,6 @@ @@ -83,7 +83,7 @@ index fb4de09..4cdc59e 100755 return call_systemd('start', service) diff --git a/systemd/minidrbdcluster.service b/systemd/minidrbdcluster.service -index 3de6ac4..1ddf91f 100644 +index 3de6ac4f..1ddf91f3 100644 --- a/systemd/minidrbdcluster.service +++ b/systemd/minidrbdcluster.service @@ -10,6 +10,7 @@ Environment=PYTHONUNBUFFERED=1 @@ -94,6 +94,3 @@ index 3de6ac4..1ddf91f 100644 StandardOutput=journal StandardError=journal SyslogIdentifier=minidrbdcluster --- -2.46.0 - diff --git a/SOURCES/0080-feat-minidrbdcluster-stop-resource-services-at-start.patch b/SOURCES/0079-feat-minidrbdcluster-stop-resource-services-at-start.patch similarity index 96% rename from SOURCES/0080-feat-minidrbdcluster-stop-resource-services-at-start.patch rename to SOURCES/0079-feat-minidrbdcluster-stop-resource-services-at-start.patch index 5ea7569e..3120e6f3 100644 --- a/SOURCES/0080-feat-minidrbdcluster-stop-resource-services-at-start.patch +++ b/SOURCES/0079-feat-minidrbdcluster-stop-resource-services-at-start.patch @@ -1,7 +1,7 @@ -From d8a3fcab1752746435c599664efd7f4789e2c58f Mon Sep 17 00:00:00 2001 +From d03167cd493ffe83a7493e1ce98d983621c25f0f Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Thu, 15 Sep 2022 11:49:34 +0200 -Subject: [PATCH 080/178] feat(minidrbdcluster): stop resource services at +Subject: [PATCH 079/177] feat(minidrbdcluster): stop resource services at startup - Ensure all services are stopped when minidrbcluster is started. @@ -14,7 +14,7 @@ Signed-off-by: Ronan Abhamon 1 file changed, 32 insertions(+), 18 deletions(-) diff --git a/scripts/minidrbdcluster b/scripts/minidrbdcluster -index 4cdc59e..eae7cbf 100755 +index 4cdc59e6..eae7cbfe 100755 --- a/scripts/minidrbdcluster +++ b/scripts/minidrbdcluster @@ -83,8 +83,7 @@ def show_status(services, status): @@ -130,6 +130,3 @@ index 4cdc59e..eae7cbf 100755 if __name__ == '__main__': main() --- -2.46.0 - diff --git a/SOURCES/0081-feat-linstor-manager-add-new-healthCheck-function-to.patch b/SOURCES/0080-feat-linstor-manager-add-new-healthCheck-function-to.patch similarity index 98% rename from SOURCES/0081-feat-linstor-manager-add-new-healthCheck-function-to.patch rename to SOURCES/0080-feat-linstor-manager-add-new-healthCheck-function-to.patch index b84181d9..6ab26aa0 100644 --- a/SOURCES/0081-feat-linstor-manager-add-new-healthCheck-function-to.patch +++ b/SOURCES/0080-feat-linstor-manager-add-new-healthCheck-function-to.patch @@ -1,7 +1,7 @@ -From ef9a22262f1cfb444bf01274bfbbf0b53607f341 Mon Sep 17 00:00:00 2001 +From 3ee16f4216c9cfb4a972658697c23440854f4162 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Fri, 23 Sep 2022 17:45:08 +0200 -Subject: [PATCH 081/178] feat(linstor-manager): add new `healthCheck` function +Subject: [PATCH 080/177] feat(linstor-manager): add new `healthCheck` function to monitor pool (#26) Print a JSON output to monitor state of LINSTOR SRs: @@ -109,7 +109,7 @@ Signed-off-by: Ronan Abhamon 2 files changed, 220 insertions(+), 1 deletion(-) diff --git a/drivers/linstor-manager b/drivers/linstor-manager -index 5485b90..7abc105 100755 +index 5485b900..7abc1054 100755 --- a/drivers/linstor-manager +++ b/drivers/linstor-manager @@ -848,6 +848,119 @@ def get_drbd_openers(session, args): @@ -241,7 +241,7 @@ index 5485b90..7abc105 100755 + 'healthCheck': health_check }) diff --git a/drivers/linstorvolumemanager.py b/drivers/linstorvolumemanager.py -index 3ee5d24..efe5d53 100755 +index 3ee5d248..efe5d53b 100755 --- a/drivers/linstorvolumemanager.py +++ b/drivers/linstorvolumemanager.py @@ -1402,6 +1402,111 @@ class LinstorVolumeManager(object): @@ -356,6 +356,3 @@ index 3ee5d24..efe5d53 100755 @classmethod def create_sr( cls, group_name, node_names, ips, redundancy, --- -2.46.0 - diff --git a/SOURCES/0082-fix-LinstorSR-fix-xha-conf-parsing-return-host-ip-no.patch b/SOURCES/0081-fix-LinstorSR-fix-xha-conf-parsing-return-host-ip-no.patch similarity index 89% rename from SOURCES/0082-fix-LinstorSR-fix-xha-conf-parsing-return-host-ip-no.patch rename to SOURCES/0081-fix-LinstorSR-fix-xha-conf-parsing-return-host-ip-no.patch index c98112c6..eba50716 100644 --- a/SOURCES/0082-fix-LinstorSR-fix-xha-conf-parsing-return-host-ip-no.patch +++ b/SOURCES/0081-fix-LinstorSR-fix-xha-conf-parsing-return-host-ip-no.patch @@ -1,7 +1,7 @@ -From 42c75bb0a6f16360c87f0688ee38d93b3a66e2e2 Mon Sep 17 00:00:00 2001 +From 50285da05b3c614661c0cefca061246d1235d781 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Tue, 4 Oct 2022 11:01:33 +0200 -Subject: [PATCH 082/178] fix(LinstorSR): fix xha conf parsing => return host +Subject: [PATCH 081/177] fix(LinstorSR): fix xha conf parsing => return host ip, not the UUID Signed-off-by: Ronan Abhamon @@ -10,7 +10,7 @@ Signed-off-by: Ronan Abhamon 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/drivers/LinstorSR.py b/drivers/LinstorSR.py -index 374d6cb..d32771f 100755 +index 374d6cb9..d32771fe 100755 --- a/drivers/LinstorSR.py +++ b/drivers/LinstorSR.py @@ -277,7 +277,7 @@ def get_ips_from_xha_config_file(): @@ -49,6 +49,3 @@ index 374d6cb..d32771f 100755 def activate_lvm_group(group_name): --- -2.46.0 - diff --git a/SOURCES/0083-fix-LinstorSR-start-correctly-HA-servers-HTTP-NBD-af.patch b/SOURCES/0082-fix-LinstorSR-start-correctly-HA-servers-HTTP-NBD-af.patch similarity index 90% rename from SOURCES/0083-fix-LinstorSR-start-correctly-HA-servers-HTTP-NBD-af.patch rename to SOURCES/0082-fix-LinstorSR-start-correctly-HA-servers-HTTP-NBD-af.patch index bb034c10..de215291 100644 --- a/SOURCES/0083-fix-LinstorSR-start-correctly-HA-servers-HTTP-NBD-af.patch +++ b/SOURCES/0082-fix-LinstorSR-start-correctly-HA-servers-HTTP-NBD-af.patch @@ -1,7 +1,7 @@ -From 3847194acc3cf8769a71e85636d66f0eaacb0593 Mon Sep 17 00:00:00 2001 +From b2fb6447c987a8378a3f60d8e738fb7ae347ab38 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Tue, 4 Oct 2022 18:48:09 +0200 -Subject: [PATCH 083/178] fix(LinstorSR): start correctly HA servers (HTTP/NBD) +Subject: [PATCH 082/177] fix(LinstorSR): start correctly HA servers (HTTP/NBD) after reboot Use a timeout call after a reboot to get a XAPI session because @@ -15,7 +15,7 @@ Signed-off-by: Ronan Abhamon 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/drivers/LinstorSR.py b/drivers/LinstorSR.py -index d32771f..ae25385 100755 +index d32771fe..ae253858 100755 --- a/drivers/LinstorSR.py +++ b/drivers/LinstorSR.py @@ -2513,7 +2513,10 @@ class LinstorVDI(VDI.VDI): @@ -39,6 +39,3 @@ index d32771f..ae25385 100755 ips = util.get_host_addresses(session) except Exception as e: _, ips = get_ips_from_xha_config_file() --- -2.46.0 - diff --git a/SOURCES/0084-fix-linstorvolumemanager-use-an-array-to-store-diskf.patch b/SOURCES/0083-fix-linstorvolumemanager-use-an-array-to-store-diskf.patch similarity index 93% rename from SOURCES/0084-fix-linstorvolumemanager-use-an-array-to-store-diskf.patch rename to SOURCES/0083-fix-linstorvolumemanager-use-an-array-to-store-diskf.patch index 44554e42..e98e1ee8 100644 --- a/SOURCES/0084-fix-linstorvolumemanager-use-an-array-to-store-diskf.patch +++ b/SOURCES/0083-fix-linstorvolumemanager-use-an-array-to-store-diskf.patch @@ -1,7 +1,7 @@ -From 1af86e89ed07f4b0bce6e032f37f500fb58d0cee Mon Sep 17 00:00:00 2001 +From ccb76cb0e049b2808845543f4ceb1a208d4f5a2b Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Wed, 5 Oct 2022 10:45:50 +0200 -Subject: [PATCH 084/178] fix(linstorvolumemanager): use an array to store +Subject: [PATCH 083/177] fix(linstorvolumemanager): use an array to store diskful volumes info Otherwise the `is_diskful` attr only reflects the info of one host @@ -15,7 +15,7 @@ Signed-off-by: Ronan Abhamon 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/drivers/LinstorSR.py b/drivers/LinstorSR.py -index ae25385..b855807 100755 +index ae253858..b8558077 100755 --- a/drivers/LinstorSR.py +++ b/drivers/LinstorSR.py @@ -39,6 +39,7 @@ import os @@ -37,7 +37,7 @@ index ae25385..b855807 100755 drbd_path = None if must_get_device_path or self.sr._is_master: diff --git a/drivers/linstorvolumemanager.py b/drivers/linstorvolumemanager.py -index efe5d53..e577f63 100755 +index efe5d53b..e577f63c 100755 --- a/drivers/linstorvolumemanager.py +++ b/drivers/linstorvolumemanager.py @@ -307,19 +307,19 @@ class LinstorVolumeManager(object): @@ -73,6 +73,3 @@ index efe5d53..e577f63 100755 for volume in resource.volumes: # We ignore diskless pools of the form "DfltDisklessStorPool". --- -2.46.0 - diff --git a/SOURCES/0085-feat-linstorvolumemanager-support-snaps-when-a-host-.patch b/SOURCES/0084-feat-linstorvolumemanager-support-snaps-when-a-host-.patch similarity index 84% rename from SOURCES/0085-feat-linstorvolumemanager-support-snaps-when-a-host-.patch rename to SOURCES/0084-feat-linstorvolumemanager-support-snaps-when-a-host-.patch index 6263f207..b052cd35 100644 --- a/SOURCES/0085-feat-linstorvolumemanager-support-snaps-when-a-host-.patch +++ b/SOURCES/0084-feat-linstorvolumemanager-support-snaps-when-a-host-.patch @@ -1,7 +1,7 @@ -From 414bc1efcd2fd9f1b8b41c690bcee46c8d550552 Mon Sep 17 00:00:00 2001 +From 47314aeac90ae4c8fb984355075df9e6e42aac85 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Thu, 6 Oct 2022 17:54:10 +0200 -Subject: [PATCH 085/178] feat(linstorvolumemanager): support snaps when a host +Subject: [PATCH 084/177] feat(linstorvolumemanager): support snaps when a host is offline - Don't create diskless volumes during clone, delay it. @@ -12,7 +12,7 @@ Signed-off-by: Ronan Abhamon 1 file changed, 6 deletions(-) diff --git a/drivers/linstorvolumemanager.py b/drivers/linstorvolumemanager.py -index e577f63..09aad42 100755 +index e577f63c..09aad42f 100755 --- a/drivers/linstorvolumemanager.py +++ b/drivers/linstorvolumemanager.py @@ -1199,12 +1199,6 @@ class LinstorVolumeManager(object): @@ -28,6 +28,3 @@ index e577f63..09aad42 100755 # 5. Create resources! def clean(): --- -2.46.0 - diff --git a/SOURCES/0086-fix-linstorvolumemanager-support-offline-hosts-when-.patch b/SOURCES/0085-fix-linstorvolumemanager-support-offline-hosts-when-.patch similarity index 96% rename from SOURCES/0086-fix-linstorvolumemanager-support-offline-hosts-when-.patch rename to SOURCES/0085-fix-linstorvolumemanager-support-offline-hosts-when-.patch index ffe54782..53967563 100644 --- a/SOURCES/0086-fix-linstorvolumemanager-support-offline-hosts-when-.patch +++ b/SOURCES/0085-fix-linstorvolumemanager-support-offline-hosts-when-.patch @@ -1,7 +1,7 @@ -From 32b338239370f6c3d0148723a3c2e6a61903daeb Mon Sep 17 00:00:00 2001 +From b3881faa046918f5ecfed143d4022be80d5aec3e Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Fri, 7 Oct 2022 17:18:37 +0200 -Subject: [PATCH 086/178] fix(linstorvolumemanager): support offline hosts when +Subject: [PATCH 085/177] fix(linstorvolumemanager): support offline hosts when plugins are called - Robustify plugin calls @@ -13,7 +13,7 @@ Signed-off-by: Ronan Abhamon 1 file changed, 52 insertions(+), 17 deletions(-) diff --git a/drivers/linstorvolumemanager.py b/drivers/linstorvolumemanager.py -index 09aad42..58c0238 100755 +index 09aad42f..58c02382 100755 --- a/drivers/linstorvolumemanager.py +++ b/drivers/linstorvolumemanager.py @@ -83,15 +83,30 @@ def get_all_volume_openers(resource_name, volume): @@ -110,6 +110,3 @@ index 09aad42..58c0238 100755 # ============================================================================== --- -2.46.0 - diff --git a/SOURCES/0087-fix-linstorvolumemanager-define-_base_group_name-mem.patch b/SOURCES/0086-fix-linstorvolumemanager-define-_base_group_name-mem.patch similarity index 86% rename from SOURCES/0087-fix-linstorvolumemanager-define-_base_group_name-mem.patch rename to SOURCES/0086-fix-linstorvolumemanager-define-_base_group_name-mem.patch index 79b7b925..eaede442 100644 --- a/SOURCES/0087-fix-linstorvolumemanager-define-_base_group_name-mem.patch +++ b/SOURCES/0086-fix-linstorvolumemanager-define-_base_group_name-mem.patch @@ -1,7 +1,7 @@ -From 846da4170432a4be553ac1e98db146df069ce2ae Mon Sep 17 00:00:00 2001 +From d088835be0f1d01f6649c48b0a1b4b9d7b3aa16d Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Fri, 7 Oct 2022 17:45:26 +0200 -Subject: [PATCH 087/178] fix(linstorvolumemanager): define _base_group_name +Subject: [PATCH 086/177] fix(linstorvolumemanager): define _base_group_name member at SR creation Signed-off-by: Ronan Abhamon @@ -10,7 +10,7 @@ Signed-off-by: Ronan Abhamon 1 file changed, 2 insertions(+) diff --git a/drivers/linstorvolumemanager.py b/drivers/linstorvolumemanager.py -index 58c0238..d19effb 100755 +index 58c02382..d19effbe 100755 --- a/drivers/linstorvolumemanager.py +++ b/drivers/linstorvolumemanager.py @@ -1622,6 +1622,7 @@ class LinstorVolumeManager(object): @@ -29,6 +29,3 @@ index 58c0238..d19effb 100755 instance._group_name = group_name instance._volumes = set() instance._storage_pools_time = 0 --- -2.46.0 - diff --git a/SOURCES/0088-feat-linstorvhdutil-modify-logic-of-local-vhdutil-ca.patch b/SOURCES/0087-feat-linstorvhdutil-modify-logic-of-local-vhdutil-ca.patch similarity index 97% rename from SOURCES/0088-feat-linstorvhdutil-modify-logic-of-local-vhdutil-ca.patch rename to SOURCES/0087-feat-linstorvhdutil-modify-logic-of-local-vhdutil-ca.patch index 4ec59442..20ed6243 100644 --- a/SOURCES/0088-feat-linstorvhdutil-modify-logic-of-local-vhdutil-ca.patch +++ b/SOURCES/0087-feat-linstorvhdutil-modify-logic-of-local-vhdutil-ca.patch @@ -1,7 +1,7 @@ -From 76b0beee9ffa96cc6eb687408a94fde1034ecab7 Mon Sep 17 00:00:00 2001 +From 175e6e245f9d1ced9e6ec2d54e5b6f52af42486a Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Mon, 10 Oct 2022 14:33:24 +0200 -Subject: [PATCH 088/178] feat(linstorvhdutil): modify logic of local vhdutil +Subject: [PATCH 087/177] feat(linstorvhdutil): modify logic of local vhdutil calls - Always log openers when we can't call vhdutil locally @@ -13,7 +13,7 @@ Signed-off-by: Ronan Abhamon 1 file changed, 44 insertions(+), 28 deletions(-) diff --git a/drivers/linstorvhdutil.py b/drivers/linstorvhdutil.py -index 4d031e1..2687cad 100644 +index 4d031e12..2687cadf 100644 --- a/drivers/linstorvhdutil.py +++ b/drivers/linstorvhdutil.py @@ -65,12 +65,17 @@ def linstorhostcall(local_method, remote_method): @@ -143,6 +143,3 @@ index 4d031e1..2687cad 100644 + .format(remote_method, device_path, openers, e) ) return util.retry(remote_call, 5, 2) --- -2.46.0 - diff --git a/SOURCES/0089-fix-linstorvolumemanager-robustify-failed-snapshots.patch b/SOURCES/0088-fix-linstorvolumemanager-robustify-failed-snapshots.patch similarity index 92% rename from SOURCES/0089-fix-linstorvolumemanager-robustify-failed-snapshots.patch rename to SOURCES/0088-fix-linstorvolumemanager-robustify-failed-snapshots.patch index c7705e87..1464fce7 100644 --- a/SOURCES/0089-fix-linstorvolumemanager-robustify-failed-snapshots.patch +++ b/SOURCES/0088-fix-linstorvolumemanager-robustify-failed-snapshots.patch @@ -1,7 +1,7 @@ -From 5d2f1d8bbc0c46b8ea1096188b73bcddd8e519ff Mon Sep 17 00:00:00 2001 +From 7b09ff227e410e033f1a31f40829cc335577b159 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Mon, 17 Oct 2022 18:14:16 +0200 -Subject: [PATCH 089/178] fix(linstorvolumemanager): robustify failed snapshots +Subject: [PATCH 088/177] fix(linstorvolumemanager): robustify failed snapshots - Ensure we can always rename a failed snap, so we must check if we have metadata in the KV-store. Otherwise an error is triggered @@ -15,7 +15,7 @@ Signed-off-by: Ronan Abhamon 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/drivers/linstorvolumemanager.py b/drivers/linstorvolumemanager.py -index d19effb..44b247e 100755 +index d19effbe..44b247e8 100755 --- a/drivers/linstorvolumemanager.py +++ b/drivers/linstorvolumemanager.py @@ -951,7 +951,11 @@ class LinstorVolumeManager(object): @@ -48,6 +48,3 @@ index d19effb..44b247e 100755 for dest_uuid, src_uuid in updating_uuid_volumes.items(): dest_namespace = self._build_volume_namespace(dest_uuid) --- -2.46.0 - diff --git a/SOURCES/0090-fix-linstorvolumemanager-use-a-namespace-for-volumes.patch b/SOURCES/0089-fix-linstorvolumemanager-use-a-namespace-for-volumes.patch similarity index 81% rename from SOURCES/0090-fix-linstorvolumemanager-use-a-namespace-for-volumes.patch rename to SOURCES/0089-fix-linstorvolumemanager-use-a-namespace-for-volumes.patch index 3167e1d8..243fffc1 100644 --- a/SOURCES/0090-fix-linstorvolumemanager-use-a-namespace-for-volumes.patch +++ b/SOURCES/0089-fix-linstorvolumemanager-use-a-namespace-for-volumes.patch @@ -1,7 +1,7 @@ -From 612f6ccde1042223048bf4f7dec8810bb86d8575 Mon Sep 17 00:00:00 2001 +From 21dd0548f94aaa324e077b23f96c33c22e4de083 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Tue, 8 Nov 2022 17:31:45 +0100 -Subject: [PATCH 090/178] fix(linstorvolumemanager): use a namespace for +Subject: [PATCH 089/177] fix(linstorvolumemanager): use a namespace for volumes - This change is not compatible with existing LINSTOR SR instances! @@ -12,7 +12,7 @@ Signed-off-by: Ronan Abhamon 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/linstorvolumemanager.py b/drivers/linstorvolumemanager.py -index 44b247e..8c253d4 100755 +index 44b247e8..8c253d49 100755 --- a/drivers/linstorvolumemanager.py +++ b/drivers/linstorvolumemanager.py @@ -308,7 +308,7 @@ class LinstorVolumeManager(object): @@ -24,6 +24,3 @@ index 44b247e..8c253d4 100755 # Regex to match properties. REG_PROP = '^([^/]+)/{}$' --- -2.46.0 - diff --git a/SOURCES/0091-feat-linstor-kv-dump-rename-to-linstor-kv-tool-add-r.patch b/SOURCES/0090-feat-linstor-kv-dump-rename-to-linstor-kv-tool-add-r.patch similarity index 92% rename from SOURCES/0091-feat-linstor-kv-dump-rename-to-linstor-kv-tool-add-r.patch rename to SOURCES/0090-feat-linstor-kv-dump-rename-to-linstor-kv-tool-add-r.patch index 6ba7d151..e45595fd 100644 --- a/SOURCES/0091-feat-linstor-kv-dump-rename-to-linstor-kv-tool-add-r.patch +++ b/SOURCES/0090-feat-linstor-kv-dump-rename-to-linstor-kv-tool-add-r.patch @@ -1,7 +1,7 @@ -From 32b38dfdf74d01673c1e9ac177346145aa8a3518 Mon Sep 17 00:00:00 2001 +From eba9afa370787a315ebb4e05719a7ffbbfb40e21 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Mon, 14 Nov 2022 17:18:48 +0100 -Subject: [PATCH 091/178] feat(linstor-kv-dump): rename to linstor-kv-tool + +Subject: [PATCH 090/177] feat(linstor-kv-dump): rename to linstor-kv-tool + add remove volume helpers --- @@ -11,10 +11,10 @@ Subject: [PATCH 091/178] feat(linstor-kv-dump): rename to linstor-kv-tool + rename scripts/{linstor-kv-dump => linstor-kv-tool} (51%) diff --git a/Makefile b/Makefile -index 5cdecab..313f06c 100755 +index aa71f809..42058c82 100755 --- a/Makefile +++ b/Makefile -@@ -235,7 +235,7 @@ install: precheck +@@ -240,7 +240,7 @@ install: precheck install -m 755 drivers/fcoelib.py $(SM_STAGING)$(SM_DEST) mkdir -p $(SM_STAGING)$(LIBEXEC) install -m 755 scripts/fork-log-daemon $(SM_STAGING)$(LIBEXEC) @@ -27,7 +27,7 @@ diff --git a/scripts/linstor-kv-dump b/scripts/linstor-kv-tool similarity index 51% rename from scripts/linstor-kv-dump rename to scripts/linstor-kv-tool -index 93598d7..128d899 100755 +index 93598d7c..128d8992 100755 --- a/scripts/linstor-kv-dump +++ b/scripts/linstor-kv-tool @@ -18,6 +18,7 @@ import argparse @@ -92,6 +92,3 @@ index 93598d7..128d899 100755 if __name__ == '__main__': main() --- -2.46.0 - diff --git a/SOURCES/0092-fix-LinstorSR-handle-correctly-localhost-during-star.patch b/SOURCES/0091-fix-LinstorSR-handle-correctly-localhost-during-star.patch similarity index 94% rename from SOURCES/0092-fix-LinstorSR-handle-correctly-localhost-during-star.patch rename to SOURCES/0091-fix-LinstorSR-handle-correctly-localhost-during-star.patch index 2e323d93..6238b7fe 100644 --- a/SOURCES/0092-fix-LinstorSR-handle-correctly-localhost-during-star.patch +++ b/SOURCES/0091-fix-LinstorSR-handle-correctly-localhost-during-star.patch @@ -1,7 +1,7 @@ -From bcc899d36e498e15ec9e5860f1439fcc4be4622b Mon Sep 17 00:00:00 2001 +From ec4d8e4dc011311141f5d9f8c8c2a94303f9dbf0 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Wed, 16 Nov 2022 12:12:12 +0100 -Subject: [PATCH 092/178] fix(LinstorSR): handle correctly localhost during +Subject: [PATCH 091/177] fix(LinstorSR): handle correctly localhost during start/stop of minidrbdcluster Otherwise another controller can be started during `xe sr-destroy` call. @@ -14,7 +14,7 @@ Signed-off-by: Ronan Abhamon 1 file changed, 27 insertions(+), 4 deletions(-) diff --git a/drivers/LinstorSR.py b/drivers/LinstorSR.py -index b855807..ba28452 100755 +index b8558077..ba284524 100755 --- a/drivers/LinstorSR.py +++ b/drivers/LinstorSR.py @@ -967,25 +967,48 @@ class LinstorSR(SR.SR): @@ -70,6 +70,3 @@ index b855807..ba28452 100755 # If enabled is false, we disable the minidrbdcluster service of # the controller host last. Why? Otherwise the linstor-controller # of other nodes can be started, and we don't want that. --- -2.46.0 - diff --git a/SOURCES/0093-fix-cleanup.py-call-repair-on-another-host-when-EROF.patch b/SOURCES/0092-fix-cleanup.py-call-repair-on-another-host-when-EROF.patch similarity index 92% rename from SOURCES/0093-fix-cleanup.py-call-repair-on-another-host-when-EROF.patch rename to SOURCES/0092-fix-cleanup.py-call-repair-on-another-host-when-EROF.patch index 68a57710..9e5536ab 100644 --- a/SOURCES/0093-fix-cleanup.py-call-repair-on-another-host-when-EROF.patch +++ b/SOURCES/0092-fix-cleanup.py-call-repair-on-another-host-when-EROF.patch @@ -1,7 +1,7 @@ -From 228634f7d8cc5fa78203272269e114a209821356 Mon Sep 17 00:00:00 2001 +From cf1d5b482c6bb4a5fa7f1b3672b4fa265420e63b Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Thu, 17 Nov 2022 15:43:25 +0100 -Subject: [PATCH 093/178] fix(cleanup.py): call repair on another host when +Subject: [PATCH 092/177] fix(cleanup.py): call repair on another host when EROFS is returned (DRBD) Signed-off-by: Ronan Abhamon @@ -10,7 +10,7 @@ Signed-off-by: Ronan Abhamon 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/drivers/cleanup.py b/drivers/cleanup.py -index 7329363..f6c4346 100755 +index 73293632..f6c4346b 100755 --- a/drivers/cleanup.py +++ b/drivers/cleanup.py @@ -726,6 +726,12 @@ class VDI(object): @@ -57,6 +57,3 @@ index 7329363..f6c4346 100755 def _relinkSkip(self): abortFlag = IPCFlag(self.sr.uuid) for child in self.children: --- -2.46.0 - diff --git a/SOURCES/0094-fix-LinstorSR-avoid-introduction-of-DELETED-volumes.patch b/SOURCES/0093-fix-LinstorSR-avoid-introduction-of-DELETED-volumes.patch similarity index 79% rename from SOURCES/0094-fix-LinstorSR-avoid-introduction-of-DELETED-volumes.patch rename to SOURCES/0093-fix-LinstorSR-avoid-introduction-of-DELETED-volumes.patch index dcf713e5..7c3064c4 100644 --- a/SOURCES/0094-fix-LinstorSR-avoid-introduction-of-DELETED-volumes.patch +++ b/SOURCES/0093-fix-LinstorSR-avoid-introduction-of-DELETED-volumes.patch @@ -1,7 +1,7 @@ -From a17925aa496b1814038ff6f998461b533f90d077 Mon Sep 17 00:00:00 2001 +From 1d5756f4f411aa781e0035c442fad8d138a6470d Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Thu, 17 Nov 2022 15:46:02 +0100 -Subject: [PATCH 094/178] fix(LinstorSR): avoid introduction of DELETED volumes +Subject: [PATCH 093/177] fix(LinstorSR): avoid introduction of DELETED volumes Signed-off-by: Ronan Abhamon --- @@ -9,7 +9,7 @@ Signed-off-by: Ronan Abhamon 1 file changed, 3 insertions(+) diff --git a/drivers/LinstorSR.py b/drivers/LinstorSR.py -index ba28452..9e5b3cd 100755 +index ba284524..9e5b3cda 100755 --- a/drivers/LinstorSR.py +++ b/drivers/LinstorSR.py @@ -1170,6 +1170,9 @@ class LinstorSR(SR.SR): @@ -22,6 +22,3 @@ index ba28452..9e5b3cd 100755 util.SMlog( 'Trying to introduce VDI {} as it is present in ' 'LINSTOR and not in XAPI...' --- -2.46.0 - diff --git a/SOURCES/0095-feat-linstor-kv-tool-remove-all-volumes-supports-jou.patch b/SOURCES/0094-feat-linstor-kv-tool-remove-all-volumes-supports-jou.patch similarity index 82% rename from SOURCES/0095-feat-linstor-kv-tool-remove-all-volumes-supports-jou.patch rename to SOURCES/0094-feat-linstor-kv-tool-remove-all-volumes-supports-jou.patch index c6e5ab02..112b56cf 100644 --- a/SOURCES/0095-feat-linstor-kv-tool-remove-all-volumes-supports-jou.patch +++ b/SOURCES/0094-feat-linstor-kv-tool-remove-all-volumes-supports-jou.patch @@ -1,7 +1,7 @@ -From e6ef1f66479ae68d5b0809f7a2158106aa1b3eec Mon Sep 17 00:00:00 2001 +From 2f1420d5c8da94afd26858bac997d802cbc4c6c7 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Fri, 18 Nov 2022 10:40:58 +0100 -Subject: [PATCH 095/178] feat(linstor-kv-tool): remove-all-volumes supports +Subject: [PATCH 094/177] feat(linstor-kv-tool): remove-all-volumes supports journals now Not yet supported for remove-volume, not sure about the consequences @@ -13,7 +13,7 @@ Signed-off-by: Ronan Abhamon 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/linstor-kv-tool b/scripts/linstor-kv-tool -index 128d899..c907027 100755 +index 128d8992..c9070270 100755 --- a/scripts/linstor-kv-tool +++ b/scripts/linstor-kv-tool @@ -48,7 +48,7 @@ def remove_all_volumes(controller_uri, group_name): @@ -25,6 +25,3 @@ index 128d899..c907027 100755 size = key.rindex('/') kv.namespace = key[:size] del kv[key[size + 1:]] --- -2.46.0 - diff --git a/SOURCES/0096-fix-linstorvhdutil-due-to-bad-refactoring-check-call.patch b/SOURCES/0095-fix-linstorvhdutil-due-to-bad-refactoring-check-call.patch similarity index 85% rename from SOURCES/0096-fix-linstorvhdutil-due-to-bad-refactoring-check-call.patch rename to SOURCES/0095-fix-linstorvhdutil-due-to-bad-refactoring-check-call.patch index 7dd66ef5..1a8608ef 100644 --- a/SOURCES/0096-fix-linstorvhdutil-due-to-bad-refactoring-check-call.patch +++ b/SOURCES/0095-fix-linstorvhdutil-due-to-bad-refactoring-check-call.patch @@ -1,7 +1,7 @@ -From 5a94eadf986c919cee83780a9e6cdce167a6701c Mon Sep 17 00:00:00 2001 +From fd00de9218483897c0cca52da99e2f699e82b8a5 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Wed, 23 Nov 2022 15:26:51 +0100 -Subject: [PATCH 096/178] fix(linstorvhdutil): due to bad refactoring, check +Subject: [PATCH 095/177] fix(linstorvhdutil): due to bad refactoring, check call was broken Signed-off-by: Ronan Abhamon @@ -10,7 +10,7 @@ Signed-off-by: Ronan Abhamon 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/linstorvhdutil.py b/drivers/linstorvhdutil.py -index 2687cad..a883ca4 100644 +index 2687cadf..a883ca4d 100644 --- a/drivers/linstorvhdutil.py +++ b/drivers/linstorvhdutil.py @@ -124,11 +124,11 @@ class LinstorVhdUtil: @@ -28,6 +28,3 @@ index 2687cad..a883ca4 100644 def get_vhd_info(self, vdi_uuid, include_parent=True): kwargs = {'includeParent': str(include_parent)} --- -2.46.0 - diff --git a/SOURCES/0097-feat-linstorvhdutil-ensure-we-use-VHD-parent-to-find.patch b/SOURCES/0096-feat-linstorvhdutil-ensure-we-use-VHD-parent-to-find.patch similarity index 94% rename from SOURCES/0097-feat-linstorvhdutil-ensure-we-use-VHD-parent-to-find.patch rename to SOURCES/0096-feat-linstorvhdutil-ensure-we-use-VHD-parent-to-find.patch index 2f334aef..efa34d85 100644 --- a/SOURCES/0097-feat-linstorvhdutil-ensure-we-use-VHD-parent-to-find.patch +++ b/SOURCES/0096-feat-linstorvhdutil-ensure-we-use-VHD-parent-to-find.patch @@ -1,7 +1,7 @@ -From 8390021e0aedb7ef2979ff9ac9c21fe3367a4f23 Mon Sep 17 00:00:00 2001 +From d199c88374eb3483f5bf6fb7cae1b814d7511eb8 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Wed, 23 Nov 2022 15:28:23 +0100 -Subject: [PATCH 097/178] feat(linstorvhdutil): ensure we use VHD parent to +Subject: [PATCH 096/177] feat(linstorvhdutil): ensure we use VHD parent to find host where to coalesce Signed-off-by: Ronan Abhamon @@ -10,7 +10,7 @@ Signed-off-by: Ronan Abhamon 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/drivers/linstorvhdutil.py b/drivers/linstorvhdutil.py -index a883ca4..c2e9665 100644 +index a883ca4d..c2e9665f 100644 --- a/drivers/linstorvhdutil.py +++ b/drivers/linstorvhdutil.py @@ -228,15 +228,15 @@ class LinstorVhdUtil: @@ -64,6 +64,3 @@ index a883ca4..c2e9665 100644 except Exception as e: raise xs_errors.XenError( 'VDIUnavailable', --- -2.46.0 - diff --git a/SOURCES/0098-feat-linstorvolumemanager-force-DRBD-demote-after-fa.patch b/SOURCES/0097-feat-linstorvolumemanager-force-DRBD-demote-after-fa.patch similarity index 97% rename from SOURCES/0098-feat-linstorvolumemanager-force-DRBD-demote-after-fa.patch rename to SOURCES/0097-feat-linstorvolumemanager-force-DRBD-demote-after-fa.patch index bab657c9..3c9dd04d 100644 --- a/SOURCES/0098-feat-linstorvolumemanager-force-DRBD-demote-after-fa.patch +++ b/SOURCES/0097-feat-linstorvolumemanager-force-DRBD-demote-after-fa.patch @@ -1,7 +1,7 @@ -From b1355b13bc58003fa01f29fb31516f6b1fcc67e8 Mon Sep 17 00:00:00 2001 +From 862ccc2d6ce8923f1a9a5a96dbdf7c4e9a5b2056 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Mon, 5 Dec 2022 18:40:11 +0100 -Subject: [PATCH 098/178] feat(linstorvolumemanager): force DRBD demote after +Subject: [PATCH 097/177] feat(linstorvolumemanager): force DRBD demote after failed volume creation/clone Signed-off-by: Ronan Abhamon @@ -11,7 +11,7 @@ Signed-off-by: Ronan Abhamon 2 files changed, 91 insertions(+), 23 deletions(-) diff --git a/drivers/linstor-manager b/drivers/linstor-manager -index 7abc105..5c4c5c9 100755 +index 7abc1054..5c4c5c90 100755 --- a/drivers/linstor-manager +++ b/drivers/linstor-manager @@ -804,6 +804,18 @@ def create_sr(session, args): @@ -42,7 +42,7 @@ index 7abc105..5c4c5c9 100755 'destroyDrbdVolumes': destroy_drbd_volumes, 'getDrbdOpeners': get_drbd_openers, diff --git a/drivers/linstorvolumemanager.py b/drivers/linstorvolumemanager.py -index 8c253d4..2e2feb2 100755 +index 8c253d49..2e2feb23 100755 --- a/drivers/linstorvolumemanager.py +++ b/drivers/linstorvolumemanager.py @@ -242,6 +242,29 @@ def get_controller_node_name(): @@ -234,6 +234,3 @@ index 8c253d4..2e2feb2 100755 # Assume this call is atomic. properties.clear() --- -2.46.0 - diff --git a/SOURCES/0099-fix-linstorvhdutil-ensure-we-retry-creation-in-all-s.patch b/SOURCES/0098-fix-linstorvhdutil-ensure-we-retry-creation-in-all-s.patch similarity index 96% rename from SOURCES/0099-fix-linstorvhdutil-ensure-we-retry-creation-in-all-s.patch rename to SOURCES/0098-fix-linstorvhdutil-ensure-we-retry-creation-in-all-s.patch index 54f0b592..af0fc52d 100644 --- a/SOURCES/0099-fix-linstorvhdutil-ensure-we-retry-creation-in-all-s.patch +++ b/SOURCES/0098-fix-linstorvhdutil-ensure-we-retry-creation-in-all-s.patch @@ -1,7 +1,7 @@ -From 33c9cbedb5e26d291dda3f020513db5154dac454 Mon Sep 17 00:00:00 2001 +From 13c59174f7ea5414c68ee1015c5fed9ee184be8b Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Tue, 6 Dec 2022 11:22:15 +0100 -Subject: [PATCH 099/178] fix(linstorvhdutil): ensure we retry creation in all +Subject: [PATCH 098/177] fix(linstorvhdutil): ensure we retry creation in all situations Without this patch, a basic resource creation is never restarted @@ -14,7 +14,7 @@ Signed-off-by: Ronan Abhamon 1 file changed, 35 insertions(+), 39 deletions(-) diff --git a/drivers/linstorvolumemanager.py b/drivers/linstorvolumemanager.py -index 2e2feb2..81cce80 100755 +index 2e2feb23..81cce802 100755 --- a/drivers/linstorvolumemanager.py +++ b/drivers/linstorvolumemanager.py @@ -2044,9 +2044,25 @@ class LinstorVolumeManager(object): @@ -116,6 +116,3 @@ index 2e2feb2..81cce80 100755 ) except LinstorVolumeManagerError as e: if e.code != LinstorVolumeManagerError.ERR_VOLUME_EXISTS: --- -2.46.0 - diff --git a/SOURCES/0100-fix-linstorvhdutil-don-t-retry-local-vhdutil-call-wh.patch b/SOURCES/0099-fix-linstorvhdutil-don-t-retry-local-vhdutil-call-wh.patch similarity index 97% rename from SOURCES/0100-fix-linstorvhdutil-don-t-retry-local-vhdutil-call-wh.patch rename to SOURCES/0099-fix-linstorvhdutil-don-t-retry-local-vhdutil-call-wh.patch index 13e0cad7..01c4dc95 100644 --- a/SOURCES/0100-fix-linstorvhdutil-don-t-retry-local-vhdutil-call-wh.patch +++ b/SOURCES/0099-fix-linstorvhdutil-don-t-retry-local-vhdutil-call-wh.patch @@ -1,7 +1,7 @@ -From e5dafb76bd0436d5d19d33e9d9ecdc9c958863b2 Mon Sep 17 00:00:00 2001 +From 496fbfdb84ff689624774f0c8682cd430aaafea4 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Wed, 7 Dec 2022 17:56:39 +0100 -Subject: [PATCH 100/178] fix(linstorvhdutil): don't retry local vhdutil call +Subject: [PATCH 099/177] fix(linstorvhdutil): don't retry local vhdutil call when EROFS is detected Signed-off-by: Ronan Abhamon @@ -10,7 +10,7 @@ Signed-off-by: Ronan Abhamon 1 file changed, 48 insertions(+), 31 deletions(-) diff --git a/drivers/linstorvhdutil.py b/drivers/linstorvhdutil.py -index c2e9665..63d59ab 100644 +index c2e9665f..63d59ab5 100644 --- a/drivers/linstorvhdutil.py +++ b/drivers/linstorvhdutil.py @@ -47,6 +47,14 @@ def call_vhd_util_on_host(session, host_ref, method, device_path, args): @@ -153,6 +153,3 @@ index c2e9665..63d59ab 100644 # B. Execute the command on another host. # B.1. Get host list. --- -2.46.0 - diff --git a/SOURCES/0101-feat-fork-log-daemon-ignore-SIGTERM.patch b/SOURCES/0100-feat-fork-log-daemon-ignore-SIGTERM.patch similarity index 82% rename from SOURCES/0101-feat-fork-log-daemon-ignore-SIGTERM.patch rename to SOURCES/0100-feat-fork-log-daemon-ignore-SIGTERM.patch index 53eb8dc9..47027916 100644 --- a/SOURCES/0101-feat-fork-log-daemon-ignore-SIGTERM.patch +++ b/SOURCES/0100-feat-fork-log-daemon-ignore-SIGTERM.patch @@ -1,7 +1,7 @@ -From 71e0f39881c539f3677089e103d1f7800fe4a99b Mon Sep 17 00:00:00 2001 +From b3305daa768fdfd4f250045ffb181e2fa3ac010c Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Thu, 15 Dec 2022 14:36:04 +0100 -Subject: [PATCH 101/178] feat(fork-log-daemon): ignore SIGTERM +Subject: [PATCH 100/177] feat(fork-log-daemon): ignore SIGTERM Without this patch, the output logs of the fork-log-daemon child are never displayed when SIGTERM is sent to the PGID. @@ -12,7 +12,7 @@ Signed-off-by: Ronan Abhamon 1 file changed, 2 insertions(+) diff --git a/scripts/fork-log-daemon b/scripts/fork-log-daemon -index eb0f0b0..665a60b 100755 +index eb0f0b0f..665a60ba 100755 --- a/scripts/fork-log-daemon +++ b/scripts/fork-log-daemon @@ -1,12 +1,14 @@ @@ -30,6 +30,3 @@ index eb0f0b0..665a60b 100755 write_to_stdout = True while process.poll() is None: --- -2.46.0 - diff --git a/SOURCES/0102-feat-LinstorSR-wait-for-http-disk-server-startup.patch b/SOURCES/0101-feat-LinstorSR-wait-for-http-disk-server-startup.patch similarity index 96% rename from SOURCES/0102-feat-LinstorSR-wait-for-http-disk-server-startup.patch rename to SOURCES/0101-feat-LinstorSR-wait-for-http-disk-server-startup.patch index 638dc9fb..b1b75241 100644 --- a/SOURCES/0102-feat-LinstorSR-wait-for-http-disk-server-startup.patch +++ b/SOURCES/0101-feat-LinstorSR-wait-for-http-disk-server-startup.patch @@ -1,7 +1,7 @@ -From 6eec8a19ce65fdcb3336367251901750df329027 Mon Sep 17 00:00:00 2001 +From 0b786b9030f1b489f5cca921a71b0b916a513f81 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Fri, 16 Dec 2022 16:52:50 +0100 -Subject: [PATCH 102/178] feat(LinstorSR): wait for http-disk-server startup +Subject: [PATCH 101/177] feat(LinstorSR): wait for http-disk-server startup Avoid a race condition with NBD server. We must be sure the HTTP server is reachable before the NBD server execution, @@ -13,7 +13,7 @@ Signed-off-by: Ronan Abhamon 1 file changed, 17 insertions(+), 18 deletions(-) diff --git a/drivers/LinstorSR.py b/drivers/LinstorSR.py -index 9e5b3cd..f336534 100755 +index 9e5b3cda..f336534e 100755 --- a/drivers/LinstorSR.py +++ b/drivers/LinstorSR.py @@ -2527,13 +2527,10 @@ class LinstorVDI(VDI.VDI): @@ -111,6 +111,3 @@ index 9e5b3cd..f336534 100755 @classmethod def _kill_persistent_server(self, type, volume_name, sig): --- -2.46.0 - diff --git a/SOURCES/0103-fix-LinstorSR-handle-inflate-resize-actions-correctl.patch b/SOURCES/0102-fix-LinstorSR-handle-inflate-resize-actions-correctl.patch similarity index 96% rename from SOURCES/0103-fix-LinstorSR-handle-inflate-resize-actions-correctl.patch rename to SOURCES/0102-fix-LinstorSR-handle-inflate-resize-actions-correctl.patch index 5fb2da5b..08e6644f 100644 --- a/SOURCES/0103-fix-LinstorSR-handle-inflate-resize-actions-correctl.patch +++ b/SOURCES/0102-fix-LinstorSR-handle-inflate-resize-actions-correctl.patch @@ -1,7 +1,7 @@ -From ec1278ddf7ba15e35410b6991354ff46deb71ca5 Mon Sep 17 00:00:00 2001 +From c2a1beb8adb8ce80087a0332399272c8f406e917 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Mon, 16 Jan 2023 17:58:51 +0100 -Subject: [PATCH 103/178] fix(LinstorSR): handle inflate + resize actions +Subject: [PATCH 102/177] fix(LinstorSR): handle inflate + resize actions correctly - Ensure LINSTOR set the expected new volume size when inflate is executed, @@ -17,7 +17,7 @@ Signed-off-by: Ronan Abhamon 1 file changed, 35 insertions(+), 14 deletions(-) diff --git a/drivers/LinstorSR.py b/drivers/LinstorSR.py -index f336534..72ec9de 100755 +index f336534e..72ec9de7 100755 --- a/drivers/LinstorSR.py +++ b/drivers/LinstorSR.py @@ -234,7 +234,7 @@ def inflate(journaler, linstor, vdi_uuid, vdi_path, new_size, old_size): @@ -129,6 +129,3 @@ index f336534..72ec9de 100755 if self.sr._provisioning == 'thin': # VDI is currently deflated, so keep it deflated. new_volume_size = old_volume_size --- -2.46.0 - diff --git a/SOURCES/0104-fix-linstor-manager-add-a-static-iptables-rule-for-D.patch b/SOURCES/0103-fix-linstor-manager-add-a-static-iptables-rule-for-D.patch similarity index 96% rename from SOURCES/0104-fix-linstor-manager-add-a-static-iptables-rule-for-D.patch rename to SOURCES/0103-fix-linstor-manager-add-a-static-iptables-rule-for-D.patch index 216eba6f..0882536c 100644 --- a/SOURCES/0104-fix-linstor-manager-add-a-static-iptables-rule-for-D.patch +++ b/SOURCES/0103-fix-linstor-manager-add-a-static-iptables-rule-for-D.patch @@ -1,7 +1,7 @@ -From 6524029ca094f5063a62a3d4ce42b0794f61fad1 Mon Sep 17 00:00:00 2001 +From 9e206acb87a743e4dd34664e35a93a46621c3871 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Tue, 17 Jan 2023 11:55:00 +0100 -Subject: [PATCH 104/178] fix(linstor-manager): add a static iptables rule for +Subject: [PATCH 103/177] fix(linstor-manager): add a static iptables rule for DRBD volumes Using the XAPI iptables firewall may drop DRBD packets when the connection @@ -17,7 +17,7 @@ Signed-off-by: Ronan Abhamon 1 file changed, 38 insertions(+), 10 deletions(-) diff --git a/drivers/linstor-manager b/drivers/linstor-manager -index 5c4c5c9..6ee435c 100755 +index 5c4c5c90..6ee435c6 100755 --- a/drivers/linstor-manager +++ b/drivers/linstor-manager @@ -40,11 +40,12 @@ LVM_PLUGIN = 'lvm.py' @@ -120,6 +120,3 @@ index 5c4c5c9..6ee435c 100755 except Exception as e: util.SMlog('Error while stopping services: {}'.format(e)) pass --- -2.46.0 - diff --git a/SOURCES/0105-feat-LinstorSR-sync-with-last-http-nbd-transfer-vers.patch b/SOURCES/0104-feat-LinstorSR-sync-with-last-http-nbd-transfer-vers.patch similarity index 96% rename from SOURCES/0105-feat-LinstorSR-sync-with-last-http-nbd-transfer-vers.patch rename to SOURCES/0104-feat-LinstorSR-sync-with-last-http-nbd-transfer-vers.patch index 657a0de5..b704c68e 100644 --- a/SOURCES/0105-feat-LinstorSR-sync-with-last-http-nbd-transfer-vers.patch +++ b/SOURCES/0104-feat-LinstorSR-sync-with-last-http-nbd-transfer-vers.patch @@ -1,7 +1,7 @@ -From cc57e8036ee5cd993658fcf2bd2ac65ba36156b5 Mon Sep 17 00:00:00 2001 +From 9e7cc8501cfb44027971fb86cdcb78409054872d Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Fri, 3 Feb 2023 16:38:49 +0100 -Subject: [PATCH 105/178] feat(LinstorSR): sync with last http-nbd-transfer +Subject: [PATCH 104/177] feat(LinstorSR): sync with last http-nbd-transfer version - Increase auto promote timeout of heartbeat VDI to reduce CPU usage @@ -15,7 +15,7 @@ Signed-off-by: Ronan Abhamon 2 files changed, 40 insertions(+), 4 deletions(-) diff --git a/drivers/LinstorSR.py b/drivers/LinstorSR.py -index 72ec9de..31f4505 100755 +index 72ec9de7..31f45055 100755 --- a/drivers/LinstorSR.py +++ b/drivers/LinstorSR.py @@ -1761,6 +1761,13 @@ class LinstorVDI(VDI.VDI): @@ -88,7 +88,7 @@ index 72ec9de..31f4505 100755 return match.group(1) # Use a timeout to never block the smapi if there is a problem. diff --git a/drivers/linstorvolumemanager.py b/drivers/linstorvolumemanager.py -index 81cce80..e0f39e7 100755 +index 81cce802..e0f39e71 100755 --- a/drivers/linstorvolumemanager.py +++ b/drivers/linstorvolumemanager.py @@ -851,6 +851,25 @@ class LinstorVolumeManager(object): @@ -117,6 +117,3 @@ index 81cce80..e0f39e7 100755 def get_volume_info(self, volume_uuid): """ Get the volume info of a particular volume. --- -2.46.0 - diff --git a/SOURCES/0106-fix-LinstorSR-don-t-check-VDI-metadata-while-listing.patch b/SOURCES/0105-fix-LinstorSR-don-t-check-VDI-metadata-while-listing.patch similarity index 86% rename from SOURCES/0106-fix-LinstorSR-don-t-check-VDI-metadata-while-listing.patch rename to SOURCES/0105-fix-LinstorSR-don-t-check-VDI-metadata-while-listing.patch index c512ec5c..ce3b8f12 100644 --- a/SOURCES/0106-fix-LinstorSR-don-t-check-VDI-metadata-while-listing.patch +++ b/SOURCES/0105-fix-LinstorSR-don-t-check-VDI-metadata-while-listing.patch @@ -1,7 +1,7 @@ -From 839eb7f719a3e3206b3d5d419b88a63c4d7a7a5d Mon Sep 17 00:00:00 2001 +From 71e979934d47143b202b6dec04b7bfdef4a00bd3 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Mon, 13 Feb 2023 17:24:16 +0100 -Subject: [PATCH 106/178] fix(LinstorSR): don't check VDI metadata while +Subject: [PATCH 105/177] fix(LinstorSR): don't check VDI metadata while listing VDIs if it's deleted Signed-off-by: Ronan Abhamon @@ -10,7 +10,7 @@ Signed-off-by: Ronan Abhamon 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/LinstorSR.py b/drivers/LinstorSR.py -index 31f4505..41ece82 100755 +index 31f45055..41ece825 100755 --- a/drivers/LinstorSR.py +++ b/drivers/LinstorSR.py @@ -1169,6 +1169,9 @@ class LinstorSR(SR.SR): @@ -33,6 +33,3 @@ index 31f4505..41ece82 100755 util.SMlog( 'Trying to introduce VDI {} as it is present in ' 'LINSTOR and not in XAPI...' --- -2.46.0 - diff --git a/SOURCES/0107-fix-LinstorSR-don-t-check-metadata-when-destroying-s.patch b/SOURCES/0106-fix-LinstorSR-don-t-check-metadata-when-destroying-s.patch similarity index 86% rename from SOURCES/0107-fix-LinstorSR-don-t-check-metadata-when-destroying-s.patch rename to SOURCES/0106-fix-LinstorSR-don-t-check-metadata-when-destroying-s.patch index 238cc1d9..c5767532 100644 --- a/SOURCES/0107-fix-LinstorSR-don-t-check-metadata-when-destroying-s.patch +++ b/SOURCES/0106-fix-LinstorSR-don-t-check-metadata-when-destroying-s.patch @@ -1,7 +1,7 @@ -From 5de99a76105212088f70b4a7a7daab4b1d5e3f49 Mon Sep 17 00:00:00 2001 +From fd1286f5b43671cc4aca32166d0b0a4544b87f5a Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Mon, 13 Feb 2023 17:27:43 +0100 -Subject: [PATCH 107/178] fix(LinstorSR): don't check metadata when destroying +Subject: [PATCH 106/177] fix(LinstorSR): don't check metadata when destroying snap in undo_clone Remove useless check in the snap rollback helper when there is an error @@ -16,7 +16,7 @@ Signed-off-by: Ronan Abhamon 1 file changed, 4 deletions(-) diff --git a/drivers/LinstorSR.py b/drivers/LinstorSR.py -index 41ece82..94cf1b7 100755 +index 41ece825..94cf1b77 100755 --- a/drivers/LinstorSR.py +++ b/drivers/LinstorSR.py @@ -1496,10 +1496,6 @@ class LinstorSR(SR.SR): @@ -30,6 +30,3 @@ index 41ece82..94cf1b7 100755 try: self._linstor.destroy_volume(snap_uuid) --- -2.46.0 - diff --git a/SOURCES/0108-fix-linstorvhdutil-handle-correctly-generic-exceptio.patch b/SOURCES/0107-fix-linstorvhdutil-handle-correctly-generic-exceptio.patch similarity index 93% rename from SOURCES/0108-fix-linstorvhdutil-handle-correctly-generic-exceptio.patch rename to SOURCES/0107-fix-linstorvhdutil-handle-correctly-generic-exceptio.patch index 2ffb9c04..5aa3c49f 100644 --- a/SOURCES/0108-fix-linstorvhdutil-handle-correctly-generic-exceptio.patch +++ b/SOURCES/0107-fix-linstorvhdutil-handle-correctly-generic-exceptio.patch @@ -1,7 +1,7 @@ -From 3aed3787570dae79cef8952cb87596aec8ff98df Mon Sep 17 00:00:00 2001 +From 1826ce94c17cf2d93d46bccb9f7e3fddb558baae Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Wed, 15 Feb 2023 11:34:54 +0100 -Subject: [PATCH 108/178] fix(linstorvhdutil): handle correctly generic +Subject: [PATCH 107/177] fix(linstorvhdutil): handle correctly generic exceptions in _raise_openers_exception Signed-off-by: Ronan Abhamon @@ -10,7 +10,7 @@ Signed-off-by: Ronan Abhamon 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/drivers/linstorvhdutil.py b/drivers/linstorvhdutil.py -index 63d59ab..05225e8 100644 +index 63d59ab5..05225e88 100644 --- a/drivers/linstorvhdutil.py +++ b/drivers/linstorvhdutil.py @@ -289,25 +289,26 @@ class LinstorVhdUtil: @@ -58,6 +58,3 @@ index 63d59ab..05225e8 100644 def _call_vhd_util(self, local_method, remote_method, device_path, use_parent, *args, **kwargs): # Note: `use_parent` exists to know if the VHD parent is used by the local/remote method. --- -2.46.0 - diff --git a/SOURCES/0109-fix-minidrbdcluster-robustify-to-unmount-correctly-L.patch b/SOURCES/0108-fix-minidrbdcluster-robustify-to-unmount-correctly-L.patch similarity index 91% rename from SOURCES/0109-fix-minidrbdcluster-robustify-to-unmount-correctly-L.patch rename to SOURCES/0108-fix-minidrbdcluster-robustify-to-unmount-correctly-L.patch index 33898a09..708a7220 100644 --- a/SOURCES/0109-fix-minidrbdcluster-robustify-to-unmount-correctly-L.patch +++ b/SOURCES/0108-fix-minidrbdcluster-robustify-to-unmount-correctly-L.patch @@ -1,7 +1,7 @@ -From 1f41b0a39ce73787bf51a226d8bc515fc664f122 Mon Sep 17 00:00:00 2001 +From d996b90ebc9e0ef820542286b1be0eac46bc7310 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Thu, 16 Feb 2023 14:24:07 +0100 -Subject: [PATCH 109/178] fix(minidrbdcluster): robustify to unmount correctly +Subject: [PATCH 108/177] fix(minidrbdcluster): robustify to unmount correctly LINSTOR DB There is a small delay during which the database may not be unmounted @@ -17,10 +17,10 @@ Signed-off-by: Ronan Abhamon create mode 100755 scripts/safe-umount diff --git a/Makefile b/Makefile -index 313f06c..1b7188e 100755 +index 42058c82..72d7be3f 100755 --- a/Makefile +++ b/Makefile -@@ -236,6 +236,7 @@ install: precheck +@@ -241,6 +241,7 @@ install: precheck mkdir -p $(SM_STAGING)$(LIBEXEC) install -m 755 scripts/fork-log-daemon $(SM_STAGING)$(LIBEXEC) install -m 755 scripts/linstor-kv-tool $(SM_STAGING)$(BIN_DEST) @@ -29,7 +29,7 @@ index 313f06c..1b7188e 100755 install -m 755 scripts/check-device-sharing $(SM_STAGING)$(LIBEXEC) install -m 755 scripts/usb_change $(SM_STAGING)$(LIBEXEC) diff --git a/etc/systemd/system/var-lib-linstor.service b/etc/systemd/system/var-lib-linstor.service -index d230d04..e9deb90 100644 +index d230d048..e9deb904 100644 --- a/etc/systemd/system/var-lib-linstor.service +++ b/etc/systemd/system/var-lib-linstor.service @@ -17,5 +17,5 @@ Description=Mount filesystem for the LINSTOR controller @@ -41,7 +41,7 @@ index d230d04..e9deb90 100644 RemainAfterExit=true diff --git a/scripts/safe-umount b/scripts/safe-umount new file mode 100755 -index 0000000..9c1dcc4 +index 00000000..9c1dcc40 --- /dev/null +++ b/scripts/safe-umount @@ -0,0 +1,39 @@ @@ -84,6 +84,3 @@ index 0000000..9c1dcc4 + parser.add_argument('path') + args = parser.parse_args() + sys.exit(safe_umount(args.path)) --- -2.46.0 - diff --git a/SOURCES/0110-fix-minidrbdcluster-handle-correctly-KeyboardInterru.patch b/SOURCES/0109-fix-minidrbdcluster-handle-correctly-KeyboardInterru.patch similarity index 89% rename from SOURCES/0110-fix-minidrbdcluster-handle-correctly-KeyboardInterru.patch rename to SOURCES/0109-fix-minidrbdcluster-handle-correctly-KeyboardInterru.patch index 838c5228..08c190e6 100644 --- a/SOURCES/0110-fix-minidrbdcluster-handle-correctly-KeyboardInterru.patch +++ b/SOURCES/0109-fix-minidrbdcluster-handle-correctly-KeyboardInterru.patch @@ -1,7 +1,7 @@ -From cccde07e13727a1f03e47ed33f2487dfce1bdaed Mon Sep 17 00:00:00 2001 +From ff1acc4b03a22afd0213fdc516a94dad3fa06ba1 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Mon, 20 Feb 2023 19:30:18 +0100 -Subject: [PATCH 110/178] fix(minidrbdcluster): handle correctly +Subject: [PATCH 109/177] fix(minidrbdcluster): handle correctly KeyboardInterrupt with systemd units It's necessary to always add systemd services in the running list before @@ -15,7 +15,7 @@ Signed-off-by: Ronan Abhamon 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/scripts/minidrbdcluster b/scripts/minidrbdcluster -index eae7cbf..03d6b01 100755 +index eae7cbfe..03d6b010 100755 --- a/scripts/minidrbdcluster +++ b/scripts/minidrbdcluster @@ -104,10 +104,11 @@ def process(events2, resources, running_services, status): @@ -32,6 +32,3 @@ index eae7cbf..03d6b01 100755 m = PEER_ROLE_RE.match(line) if m: res_name, conn_name, role = m.groups() --- -2.46.0 - diff --git a/SOURCES/0111-feat-LinstorSR-use-drbd-reactor-instead-of-minidrbdc.patch b/SOURCES/0110-feat-LinstorSR-use-drbd-reactor-instead-of-minidrbdc.patch similarity index 97% rename from SOURCES/0111-feat-LinstorSR-use-drbd-reactor-instead-of-minidrbdc.patch rename to SOURCES/0110-feat-LinstorSR-use-drbd-reactor-instead-of-minidrbdc.patch index d794d5ec..b09d5332 100644 --- a/SOURCES/0111-feat-LinstorSR-use-drbd-reactor-instead-of-minidrbdc.patch +++ b/SOURCES/0110-feat-LinstorSR-use-drbd-reactor-instead-of-minidrbdc.patch @@ -1,7 +1,7 @@ -From 6da63ee78f16326dc8699706d58d58fe3a5c4ec3 Mon Sep 17 00:00:00 2001 +From 3277100803ff14ce9265e825f78612183e14570b Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Fri, 24 Feb 2023 14:28:29 +0100 -Subject: [PATCH 111/178] feat(LinstorSR): use drbd-reactor instead of +Subject: [PATCH 110/177] feat(LinstorSR): use drbd-reactor instead of minidrbdcluster Signed-off-by: Ronan Abhamon @@ -19,10 +19,10 @@ Signed-off-by: Ronan Abhamon delete mode 100644 systemd/minidrbdcluster.service diff --git a/Makefile b/Makefile -index 1b7188e..0ce6dfb 100755 +index 72d7be3f..bc3e97fe 100755 --- a/Makefile +++ b/Makefile -@@ -99,7 +99,6 @@ MPATH_CUSTOM_CONF_DIR := /etc/multipath/conf.d/ +@@ -100,7 +100,6 @@ MPATH_CUSTOM_CONF_DIR := /etc/multipath/conf.d/ MODPROBE_DIR := /etc/modprobe.d/ EXTENSION_SCRIPT_DEST := /etc/xapi.d/extensions/ LOGROTATE_DIR := /etc/logrotate.d/ @@ -30,7 +30,7 @@ index 1b7188e..0ce6dfb 100755 SM_STAGING := $(DESTDIR) SM_STAMP := $(MY_OBJ_DIR)/.staging_stamp -@@ -155,7 +154,6 @@ install: precheck +@@ -156,7 +155,6 @@ install: precheck mkdir -p $(SM_STAGING)$(MPATH_CUSTOM_CONF_DIR) mkdir -p $(SM_STAGING)$(MODPROBE_DIR) mkdir -p $(SM_STAGING)$(LOGROTATE_DIR) @@ -38,7 +38,7 @@ index 1b7188e..0ce6dfb 100755 mkdir -p $(SM_STAGING)$(DEBUG_DEST) mkdir -p $(SM_STAGING)$(BIN_DEST) mkdir -p $(SM_STAGING)$(MASTER_SCRIPT_DEST) -@@ -183,8 +181,6 @@ install: precheck +@@ -184,8 +182,6 @@ install: precheck $(SM_STAGING)/$(SYSTEMD_CONF_DIR)/linstor-satellite.service.d/ install -m 644 etc/systemd/system/var-lib-linstor.service \ $(SM_STAGING)/$(SYSTEMD_CONF_DIR) @@ -47,7 +47,7 @@ index 1b7188e..0ce6dfb 100755 install -m 644 etc/make-dummy-sr.service \ $(SM_STAGING)/$(SYSTEMD_SERVICE_DIR) install -m 644 systemd/xs-sm.service \ -@@ -199,8 +195,6 @@ install: precheck +@@ -204,8 +200,6 @@ install: precheck $(SM_STAGING)/$(SYSTEMD_SERVICE_DIR) install -m 644 systemd/linstor-monitor.service \ $(SM_STAGING)/$(SYSTEMD_SERVICE_DIR) @@ -56,7 +56,7 @@ index 1b7188e..0ce6dfb 100755 for i in $(UDEV_RULES); do \ install -m 644 udev/$$i.rules \ $(SM_STAGING)$(UDEV_RULES_DIR); done -@@ -253,7 +247,6 @@ install: precheck +@@ -258,7 +252,6 @@ install: precheck install -m 755 scripts/xe-getlunidentifier $(SM_STAGING)$(BIN_DEST) install -m 755 scripts/make-dummy-sr $(SM_STAGING)$(LIBEXEC) install -m 755 scripts/storage-init $(SM_STAGING)$(LIBEXEC) @@ -65,7 +65,7 @@ index 1b7188e..0ce6dfb 100755 .PHONY: clean clean: diff --git a/drivers/LinstorSR.py b/drivers/LinstorSR.py -index 94cf1b7..a3da28e 100755 +index 94cf1b77..a3da28e7 100755 --- a/drivers/LinstorSR.py +++ b/drivers/LinstorSR.py @@ -461,6 +461,10 @@ class LinstorSR(SR.SR): @@ -187,7 +187,7 @@ index 94cf1b7..a3da28e 100755 # -------------------------------------------------------------------------- # Metadata. diff --git a/drivers/linstor-manager b/drivers/linstor-manager -index 6ee435c..7e34b5f 100755 +index 6ee435c6..7e34b5f6 100755 --- a/drivers/linstor-manager +++ b/drivers/linstor-manager @@ -22,6 +22,7 @@ sys.path[0] = '/opt/xensource/sm/' @@ -341,7 +341,7 @@ index 6ee435c..7e34b5f 100755 'detach': detach, 'destroy': destroy, diff --git a/drivers/linstorvolumemanager.py b/drivers/linstorvolumemanager.py -index e0f39e7..4662043 100755 +index e0f39e71..4662043c 100755 --- a/drivers/linstorvolumemanager.py +++ b/drivers/linstorvolumemanager.py @@ -1622,7 +1622,7 @@ class LinstorVolumeManager(object): @@ -364,7 +364,7 @@ index e0f39e7..4662043 100755 'DrbdOptions/auto-quorum': 'disabled', diff --git a/etc/minidrbdcluster.ini b/etc/minidrbdcluster.ini deleted file mode 100644 -index 9e52342..0000000 +index 9e523427..00000000 --- a/etc/minidrbdcluster.ini +++ /dev/null @@ -1,14 +0,0 @@ @@ -384,7 +384,7 @@ index 9e52342..0000000 -systemd-units= diff --git a/scripts/minidrbdcluster b/scripts/minidrbdcluster deleted file mode 100755 -index 03d6b01..0000000 +index 03d6b010..00000000 --- a/scripts/minidrbdcluster +++ /dev/null @@ -1,203 +0,0 @@ @@ -593,7 +593,7 @@ index 03d6b01..0000000 - main() diff --git a/systemd/minidrbdcluster.service b/systemd/minidrbdcluster.service deleted file mode 100644 -index 1ddf91f..0000000 +index 1ddf91f3..00000000 --- a/systemd/minidrbdcluster.service +++ /dev/null @@ -1,19 +0,0 @@ @@ -616,6 +616,3 @@ index 1ddf91f..0000000 - -[Install] -WantedBy=multi-user.target --- -2.46.0 - diff --git a/SOURCES/0112-fix-LinstorSR-ensure-vhdutil-calls-are-correctly-exe.patch b/SOURCES/0111-fix-LinstorSR-ensure-vhdutil-calls-are-correctly-exe.patch similarity index 95% rename from SOURCES/0112-fix-LinstorSR-ensure-vhdutil-calls-are-correctly-exe.patch rename to SOURCES/0111-fix-LinstorSR-ensure-vhdutil-calls-are-correctly-exe.patch index ec370399..45372694 100644 --- a/SOURCES/0112-fix-LinstorSR-ensure-vhdutil-calls-are-correctly-exe.patch +++ b/SOURCES/0111-fix-LinstorSR-ensure-vhdutil-calls-are-correctly-exe.patch @@ -1,7 +1,7 @@ -From c27027a689f926d2a0235e1dc85d4891f0346815 Mon Sep 17 00:00:00 2001 +From 6eb9f2d82ba82b02a4881d262a7189e5bd3fba68 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Wed, 1 Mar 2023 10:56:43 +0100 -Subject: [PATCH 112/178] fix(LinstorSR): ensure vhdutil calls are correctly +Subject: [PATCH 111/177] fix(LinstorSR): ensure vhdutil calls are correctly executed on pools with > 3 hosts Signed-off-by: Ronan Abhamon @@ -12,7 +12,7 @@ Signed-off-by: Ronan Abhamon 3 files changed, 27 insertions(+), 20 deletions(-) diff --git a/drivers/LinstorSR.py b/drivers/LinstorSR.py -index a3da28e..10e0f54 100755 +index a3da28e7..10e0f543 100755 --- a/drivers/LinstorSR.py +++ b/drivers/LinstorSR.py @@ -1884,9 +1884,12 @@ class LinstorVDI(VDI.VDI): @@ -50,7 +50,7 @@ index a3da28e..10e0f54 100755 self.size = vhd_info.sizeVirt self.parent = vhd_info.parentUuid diff --git a/drivers/linstorvhdutil.py b/drivers/linstorvhdutil.py -index 05225e8..c1b817d 100644 +index 05225e88..c1b817d7 100644 --- a/drivers/linstorvhdutil.py +++ b/drivers/linstorvhdutil.py @@ -47,7 +47,7 @@ def call_vhd_util_on_host(session, host_ref, method, device_path, args): @@ -112,7 +112,7 @@ index 05225e8..c1b817d 100644 # Retry only locally if it's not an EROFS exception. return util.retry(local_call, 5, 2, exceptions=[util.CommandException]) diff --git a/drivers/linstorvolumemanager.py b/drivers/linstorvolumemanager.py -index 4662043..5ab83c4 100755 +index 4662043c..5ab83c41 100755 --- a/drivers/linstorvolumemanager.py +++ b/drivers/linstorvolumemanager.py @@ -1410,12 +1410,12 @@ class LinstorVolumeManager(object): @@ -142,6 +142,3 @@ index 4662043..5ab83c4 100755 def invalidate_resource_cache(self): """ --- -2.46.0 - diff --git a/SOURCES/0113-fix-LinstorSR-replace-bad-param-in-detach_thin-impl.patch b/SOURCES/0112-fix-LinstorSR-replace-bad-param-in-detach_thin-impl.patch similarity index 85% rename from SOURCES/0113-fix-LinstorSR-replace-bad-param-in-detach_thin-impl.patch rename to SOURCES/0112-fix-LinstorSR-replace-bad-param-in-detach_thin-impl.patch index 85544d0b..4202572b 100644 --- a/SOURCES/0113-fix-LinstorSR-replace-bad-param-in-detach_thin-impl.patch +++ b/SOURCES/0112-fix-LinstorSR-replace-bad-param-in-detach_thin-impl.patch @@ -1,7 +1,7 @@ -From 6da70e1e569db84a6220d5c568b0e18547011dd3 Mon Sep 17 00:00:00 2001 +From aa7c8442a555f0066300845194457ad199d56a35 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Thu, 9 Mar 2023 17:06:59 +0100 -Subject: [PATCH 113/178] fix(LinstorSR): replace bad param in detach_thin impl +Subject: [PATCH 112/177] fix(LinstorSR): replace bad param in detach_thin impl To get the physical size, the volume UUID must be used, not the path. @@ -11,7 +11,7 @@ Signed-off-by: Ronan Abhamon 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/LinstorSR.py b/drivers/LinstorSR.py -index 10e0f54..c42f07d 100755 +index 10e0f543..c42f07d6 100755 --- a/drivers/LinstorSR.py +++ b/drivers/LinstorSR.py @@ -215,7 +215,7 @@ def detach_thin(session, linstor, sr_uuid, vdi_uuid): @@ -23,6 +23,3 @@ index 10e0f54..c42f07d 100755 ) volume_info = linstor.get_volume_info(vdi_uuid) --- -2.46.0 - diff --git a/SOURCES/0114-fix-linstorvolumemanager-remove-usage-of-realpath.patch b/SOURCES/0113-fix-linstorvolumemanager-remove-usage-of-realpath.patch similarity index 92% rename from SOURCES/0114-fix-linstorvolumemanager-remove-usage-of-realpath.patch rename to SOURCES/0113-fix-linstorvolumemanager-remove-usage-of-realpath.patch index 96e68c9e..f2ad724d 100644 --- a/SOURCES/0114-fix-linstorvolumemanager-remove-usage-of-realpath.patch +++ b/SOURCES/0113-fix-linstorvolumemanager-remove-usage-of-realpath.patch @@ -1,7 +1,7 @@ -From 84f028a160d8cf7273dbe2c73f35e798b4ad0b9d Mon Sep 17 00:00:00 2001 +From 2ef6abb508ff478f40744f5437e7ffb6119e4c1f Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Fri, 10 Mar 2023 18:11:10 +0100 -Subject: [PATCH 114/178] fix(linstorvolumemanager): remove usage of realpath +Subject: [PATCH 113/177] fix(linstorvolumemanager): remove usage of realpath Because a diskless DRBD path not always exist, get_volume_name_from_device_path can fail. It's easy to reproduce using > 4 hosts and with a call to linstorvhdutil.get_vhd_info: @@ -13,7 +13,7 @@ Signed-off-by: Ronan Abhamon 1 file changed, 6 insertions(+), 17 deletions(-) diff --git a/drivers/linstorvolumemanager.py b/drivers/linstorvolumemanager.py -index 5ab83c4..8befb33 100755 +index 5ab83c41..8befb33f 100755 --- a/drivers/linstorvolumemanager.py +++ b/drivers/linstorvolumemanager.py @@ -914,28 +914,17 @@ class LinstorVolumeManager(object): @@ -51,6 +51,3 @@ index 5ab83c4..8befb33 100755 def update_volume_uuid(self, volume_uuid, new_volume_uuid, force=False): """ --- -2.46.0 - diff --git a/SOURCES/0115-fix-linstorvhdutil-avoid-parent-path-resolution.patch b/SOURCES/0114-fix-linstorvhdutil-avoid-parent-path-resolution.patch similarity index 94% rename from SOURCES/0115-fix-linstorvhdutil-avoid-parent-path-resolution.patch rename to SOURCES/0114-fix-linstorvhdutil-avoid-parent-path-resolution.patch index 40c0e1d4..464c29ff 100644 --- a/SOURCES/0115-fix-linstorvhdutil-avoid-parent-path-resolution.patch +++ b/SOURCES/0114-fix-linstorvhdutil-avoid-parent-path-resolution.patch @@ -1,7 +1,7 @@ -From cc3f34ef376bcf1f5e036f830ffc3f68c64154c8 Mon Sep 17 00:00:00 2001 +From 61c7e38064b44ad271d92455b836b7bca61d9c8e Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Thu, 16 Mar 2023 18:54:46 +0100 -Subject: [PATCH 115/178] fix(linstorvhdutil): avoid parent path resolution +Subject: [PATCH 114/177] fix(linstorvhdutil): avoid parent path resolution When many hosts are used (>= 4), we can fail to get VHD info (with parent option) because the local parent VDI @@ -19,7 +19,7 @@ Signed-off-by: Ronan Abhamon 4 files changed, 21 insertions(+), 8 deletions(-) diff --git a/drivers/linstor-manager b/drivers/linstor-manager -index 7e34b5f..9e96aac 100755 +index 7e34b5f6..9e96aaca 100755 --- a/drivers/linstor-manager +++ b/drivers/linstor-manager @@ -400,7 +400,7 @@ def get_vhd_info(session, args): @@ -32,7 +32,7 @@ index 7e34b5f..9e96aac 100755 return json.dumps(vhd_info.__dict__) except Exception as e: diff --git a/drivers/linstorvhdutil.py b/drivers/linstorvhdutil.py -index c1b817d..8b6985d 100644 +index c1b817d7..8b6985d9 100644 --- a/drivers/linstorvhdutil.py +++ b/drivers/linstorvhdutil.py @@ -143,8 +143,8 @@ class LinstorVhdUtil: @@ -59,7 +59,7 @@ index c1b817d..8b6985d 100644 # https://github.com/PyCQA/pylint/pull/2926 return self._get_vhd_info(vdi_uuid, self._extract_uuid, **kwargs) # pylint: disable = E1123 diff --git a/drivers/linstorvolumemanager.py b/drivers/linstorvolumemanager.py -index 8befb33..91db3d8 100755 +index 8befb33f..91db3d80 100755 --- a/drivers/linstorvolumemanager.py +++ b/drivers/linstorvolumemanager.py @@ -920,11 +920,18 @@ class LinstorVolumeManager(object): @@ -85,7 +85,7 @@ index 8befb33..91db3d8 100755 def update_volume_uuid(self, volume_uuid, new_volume_uuid, force=False): """ diff --git a/drivers/vhdutil.py b/drivers/vhdutil.py -index d75edb1..48337f8 100755 +index d75edb11..48337f87 100755 --- a/drivers/vhdutil.py +++ b/drivers/vhdutil.py @@ -100,13 +100,16 @@ def fullSizeVHD(virtual_size): @@ -106,6 +106,3 @@ index d75edb1..48337f8 100755 cmd = [VHD_UTIL, "query", OPT_LOG_ERR, opts, "-n", path] ret = ioretry(cmd) fields = ret.strip().split('\n') --- -2.46.0 - diff --git a/SOURCES/0116-fix-LinstorSR-create-parent-path-during-attach.patch b/SOURCES/0115-fix-LinstorSR-create-parent-path-during-attach.patch similarity index 88% rename from SOURCES/0116-fix-LinstorSR-create-parent-path-during-attach.patch rename to SOURCES/0115-fix-LinstorSR-create-parent-path-during-attach.patch index e0e7f35f..bd11565d 100644 --- a/SOURCES/0116-fix-LinstorSR-create-parent-path-during-attach.patch +++ b/SOURCES/0115-fix-LinstorSR-create-parent-path-during-attach.patch @@ -1,7 +1,7 @@ -From 2201c29474b54183acb4b529a773c94a3571ca61 Mon Sep 17 00:00:00 2001 +From 4b2b13218bdd1cc521482fd1ff25a26ae4dbc7da Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Fri, 17 Mar 2023 12:06:08 +0100 -Subject: [PATCH 116/178] fix(LinstorSR): create parent path during attach +Subject: [PATCH 115/177] fix(LinstorSR): create parent path during attach It's necessary to force DRBD diskless path creation when a VDI is attached. Otherwise the attach can fail on pool with @@ -13,7 +13,7 @@ Signed-off-by: Ronan Abhamon 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/drivers/LinstorSR.py b/drivers/LinstorSR.py -index c42f07d..48feec7 100755 +index c42f07d6..48feec7a 100755 --- a/drivers/LinstorSR.py +++ b/drivers/LinstorSR.py @@ -1883,13 +1883,14 @@ class LinstorVDI(VDI.VDI): @@ -36,6 +36,3 @@ index c42f07d..48feec7 100755 self.attached = True return VDI.VDI.attach(self, self.sr.uuid, self.uuid) --- -2.46.0 - diff --git a/SOURCES/0117-fix-LinstorSR-retry-if-we-can-t-build-volume-cache.patch b/SOURCES/0116-fix-LinstorSR-retry-if-we-can-t-build-volume-cache.patch similarity index 85% rename from SOURCES/0117-fix-LinstorSR-retry-if-we-can-t-build-volume-cache.patch rename to SOURCES/0116-fix-LinstorSR-retry-if-we-can-t-build-volume-cache.patch index 660d720a..c62d9954 100644 --- a/SOURCES/0117-fix-LinstorSR-retry-if-we-can-t-build-volume-cache.patch +++ b/SOURCES/0116-fix-LinstorSR-retry-if-we-can-t-build-volume-cache.patch @@ -1,7 +1,7 @@ -From 71bbec844018985c25dc2c84ad9c1624065a8ca7 Mon Sep 17 00:00:00 2001 +From 6e33fff54cdf9ffc339b69a2ca3f78eb9232ca79 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Mon, 3 Apr 2023 10:03:57 +0200 -Subject: [PATCH 117/178] fix(LinstorSR): retry if we can't build volume cache +Subject: [PATCH 116/177] fix(LinstorSR): retry if we can't build volume cache Otherwise after SR creation, the master PBD can be unplugged. See: https://xcp-ng.org/forum/post/60726 @@ -12,7 +12,7 @@ Signed-off-by: Ronan Abhamon 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/drivers/LinstorSR.py b/drivers/LinstorSR.py -index 48feec7..324033a 100755 +index 48feec7a..324033a0 100755 --- a/drivers/LinstorSR.py +++ b/drivers/LinstorSR.py @@ -1553,7 +1553,11 @@ class LinstorSR(SR.SR): @@ -28,6 +28,3 @@ index 48feec7..324033a 100755 def _destroy_linstor_cache(self): self._all_volume_info_cache = None --- -2.46.0 - diff --git a/SOURCES/0118-fix-linstorvolumemanager-reduce-peer-slots-param-to-.patch b/SOURCES/0117-fix-linstorvolumemanager-reduce-peer-slots-param-to-.patch similarity index 92% rename from SOURCES/0118-fix-linstorvolumemanager-reduce-peer-slots-param-to-.patch rename to SOURCES/0117-fix-linstorvolumemanager-reduce-peer-slots-param-to-.patch index c8c92e80..5218834a 100644 --- a/SOURCES/0118-fix-linstorvolumemanager-reduce-peer-slots-param-to-.patch +++ b/SOURCES/0117-fix-linstorvolumemanager-reduce-peer-slots-param-to-.patch @@ -1,7 +1,7 @@ -From d67af12145aaf807bee1e16ea4647bbbafef3666 Mon Sep 17 00:00:00 2001 +From f28b40cc4d1858a3182d46b8d1b824b56bf63791 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Tue, 25 Apr 2023 10:46:00 +0200 -Subject: [PATCH 118/178] fix(linstorvolumemanager): reduce peer-slots param to +Subject: [PATCH 117/177] fix(linstorvolumemanager): reduce peer-slots param to 3 Because we use 3 backing disks at most, it's useless to increase the default linstor limit (8). @@ -15,7 +15,7 @@ Signed-off-by: Ronan Abhamon 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/drivers/linstorvolumemanager.py b/drivers/linstorvolumemanager.py -index 91db3d8..6f20c02 100755 +index 91db3d80..6f20c02c 100755 --- a/drivers/linstorvolumemanager.py +++ b/drivers/linstorvolumemanager.py @@ -2089,7 +2089,7 @@ class LinstorVolumeManager(object): @@ -52,6 +52,3 @@ index 91db3d8..6f20c02 100755 # Create real resources on the first nodes. resources = [] --- -2.46.0 - diff --git a/SOURCES/0119-fix-LinstorSR-attach-a-valid-XAPI-session-is_open-is.patch b/SOURCES/0118-fix-LinstorSR-attach-a-valid-XAPI-session-is_open-is.patch similarity index 83% rename from SOURCES/0119-fix-LinstorSR-attach-a-valid-XAPI-session-is_open-is.patch rename to SOURCES/0118-fix-LinstorSR-attach-a-valid-XAPI-session-is_open-is.patch index 1988dba6..9232a3de 100644 --- a/SOURCES/0119-fix-LinstorSR-attach-a-valid-XAPI-session-is_open-is.patch +++ b/SOURCES/0118-fix-LinstorSR-attach-a-valid-XAPI-session-is_open-is.patch @@ -1,7 +1,7 @@ -From ec5a6609241a382f5734577f35194911ec8a1876 Mon Sep 17 00:00:00 2001 +From a32f6aded5be4e3c3b9a9a5f808d1535073dc064 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Tue, 25 Apr 2023 11:20:55 +0200 -Subject: [PATCH 119/178] fix(LinstorSR): attach a valid XAPI session is_open +Subject: [PATCH 118/177] fix(LinstorSR): attach a valid XAPI session is_open is called Signed-off-by: Ronan Abhamon @@ -10,7 +10,7 @@ Signed-off-by: Ronan Abhamon 1 file changed, 6 insertions(+) diff --git a/drivers/on_slave.py b/drivers/on_slave.py -index bbef4f7..a197660 100755 +index bbef4f7f..a1976607 100755 --- a/drivers/on_slave.py +++ b/drivers/on_slave.py @@ -125,6 +125,12 @@ def _is_open(session, args): @@ -26,6 +26,3 @@ index bbef4f7..a197660 100755 vdi = sr.vdi(vdiUuid) tapdisk = blktap2.Tapdisk.find_by_path(vdi.path) util.SMlog("Tapdisk for %s: %s" % (vdi.path, tapdisk)) --- -2.46.0 - diff --git a/SOURCES/0120-fix-LinstorSR-ensure-we-always-have-a-DRBD-path-to-s.patch b/SOURCES/0119-fix-LinstorSR-ensure-we-always-have-a-DRBD-path-to-s.patch similarity index 81% rename from SOURCES/0120-fix-LinstorSR-ensure-we-always-have-a-DRBD-path-to-s.patch rename to SOURCES/0119-fix-LinstorSR-ensure-we-always-have-a-DRBD-path-to-s.patch index 2ca015b7..06a6b28e 100644 --- a/SOURCES/0120-fix-LinstorSR-ensure-we-always-have-a-DRBD-path-to-s.patch +++ b/SOURCES/0119-fix-LinstorSR-ensure-we-always-have-a-DRBD-path-to-s.patch @@ -1,7 +1,7 @@ -From ec92e0b26035555a9492809c1cae1fed1425e01f Mon Sep 17 00:00:00 2001 +From ccdf73530b9858d925cc023d44e880769fe9622b Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Fri, 28 Apr 2023 10:43:27 +0200 -Subject: [PATCH 120/178] fix(LinstorSR): ensure we always have a DRBD path to +Subject: [PATCH 119/177] fix(LinstorSR): ensure we always have a DRBD path to snap Signed-off-by: Ronan Abhamon @@ -10,7 +10,7 @@ Signed-off-by: Ronan Abhamon 1 file changed, 3 insertions(+) diff --git a/drivers/LinstorSR.py b/drivers/LinstorSR.py -index 324033a..8c0b007 100755 +index 324033a0..8c0b007d 100755 --- a/drivers/LinstorSR.py +++ b/drivers/LinstorSR.py @@ -2392,6 +2392,9 @@ class LinstorVDI(VDI.VDI): @@ -23,6 +23,3 @@ index 324033a..8c0b007 100755 volume_path = self.path if not util.pathexists(volume_path): raise xs_errors.XenError( --- -2.46.0 - diff --git a/SOURCES/0121-fix-LinstorSR-remove-hosts-ips-param.patch b/SOURCES/0120-fix-LinstorSR-remove-hosts-ips-param.patch similarity index 96% rename from SOURCES/0121-fix-LinstorSR-remove-hosts-ips-param.patch rename to SOURCES/0120-fix-LinstorSR-remove-hosts-ips-param.patch index 9fbaf189..33120d35 100644 --- a/SOURCES/0121-fix-LinstorSR-remove-hosts-ips-param.patch +++ b/SOURCES/0120-fix-LinstorSR-remove-hosts-ips-param.patch @@ -1,7 +1,7 @@ -From 6afb9f195a5b3ce97d6f727337708ce536e19456 Mon Sep 17 00:00:00 2001 +From 10ae82f662843e9d38be3a5550ef9b8f1b8eaa86 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Tue, 30 May 2023 11:19:13 +0200 -Subject: [PATCH 121/178] fix(LinstorSR): remove hosts/ips param +Subject: [PATCH 120/177] fix(LinstorSR): remove hosts/ips param --- drivers/LinstorSR.py | 47 +++++---------------------------- @@ -9,7 +9,7 @@ Subject: [PATCH 121/178] fix(LinstorSR): remove hosts/ips param 2 files changed, 11 insertions(+), 47 deletions(-) diff --git a/drivers/LinstorSR.py b/drivers/LinstorSR.py -index 8c0b007..7a9cbac 100755 +index 8c0b007d..7a9cbac6 100755 --- a/drivers/LinstorSR.py +++ b/drivers/LinstorSR.py @@ -100,8 +100,6 @@ CAPABILITIES = [ @@ -115,7 +115,7 @@ index 8c0b007..7a9cbac 100755 self._redundancy, thin_provisioning=self._provisioning == 'thin', diff --git a/drivers/linstorvolumemanager.py b/drivers/linstorvolumemanager.py -index 6f20c02..464ab2c 100755 +index 6f20c02c..464ab2ce 100755 --- a/drivers/linstorvolumemanager.py +++ b/drivers/linstorvolumemanager.py @@ -1588,14 +1588,13 @@ class LinstorVolumeManager(object): @@ -163,6 +163,3 @@ index 6f20c02..464ab2c 100755 while True: # Try to create node. result = lin.node_create( --- -2.46.0 - diff --git a/SOURCES/0122-fix-LinstorSR-compute-correctly-SR-size-using-pool-c.patch b/SOURCES/0121-fix-LinstorSR-compute-correctly-SR-size-using-pool-c.patch similarity index 94% rename from SOURCES/0122-fix-LinstorSR-compute-correctly-SR-size-using-pool-c.patch rename to SOURCES/0121-fix-LinstorSR-compute-correctly-SR-size-using-pool-c.patch index 6fad327d..0bd9d337 100644 --- a/SOURCES/0122-fix-LinstorSR-compute-correctly-SR-size-using-pool-c.patch +++ b/SOURCES/0121-fix-LinstorSR-compute-correctly-SR-size-using-pool-c.patch @@ -1,7 +1,7 @@ -From 46d03cba7a491c03335a4ea5549df187c5c72806 Mon Sep 17 00:00:00 2001 +From 20fee9d26096cafe2a09f2fc48e0f45f2a696ee0 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Thu, 1 Jun 2023 17:40:37 +0200 -Subject: [PATCH 122/178] fix(LinstorSR): compute correctly SR size using pool +Subject: [PATCH 121/177] fix(LinstorSR): compute correctly SR size using pool count Signed-off-by: Ronan Abhamon @@ -11,7 +11,7 @@ Signed-off-by: Ronan Abhamon 2 files changed, 25 insertions(+), 24 deletions(-) diff --git a/drivers/LinstorSR.py b/drivers/LinstorSR.py -index 7a9cbac..f6c4356 100755 +index 7a9cbac6..f6c43569 100755 --- a/drivers/LinstorSR.py +++ b/drivers/LinstorSR.py @@ -1065,8 +1065,8 @@ class LinstorSR(SR.SR): @@ -26,7 +26,7 @@ index 7a9cbac..f6c4356 100755 self.physical_utilisation = self._linstor.allocated_volume_size diff --git a/drivers/linstorvolumemanager.py b/drivers/linstorvolumemanager.py -index 464ab2c..ee637ae 100755 +index 464ab2ce..ee637ae2 100755 --- a/drivers/linstorvolumemanager.py +++ b/drivers/linstorvolumemanager.py @@ -492,28 +492,6 @@ class LinstorVolumeManager(object): @@ -88,6 +88,3 @@ index 464ab2c..ee637ae 100755 @property def metadata(self): """ --- -2.46.0 - diff --git a/SOURCES/0123-fix-blktap2-ensure-we-can-import-this-module-when-LI.patch b/SOURCES/0122-fix-blktap2-ensure-we-can-import-this-module-when-LI.patch similarity index 89% rename from SOURCES/0123-fix-blktap2-ensure-we-can-import-this-module-when-LI.patch rename to SOURCES/0122-fix-blktap2-ensure-we-can-import-this-module-when-LI.patch index 6ae5e9a5..a2a8d360 100644 --- a/SOURCES/0123-fix-blktap2-ensure-we-can-import-this-module-when-LI.patch +++ b/SOURCES/0122-fix-blktap2-ensure-we-can-import-this-module-when-LI.patch @@ -1,7 +1,7 @@ -From d3c6b68c18e910c1defbdfa815718e16e9323bca Mon Sep 17 00:00:00 2001 +From f83b5eac9979ed64d2c85a6bac581f94007e96f3 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Tue, 6 Jun 2023 11:50:54 +0200 -Subject: [PATCH 123/178] fix(blktap2): ensure we can import this module when +Subject: [PATCH 122/177] fix(blktap2): ensure we can import this module when LINSTOR is not installed Signed-off-by: Ronan Abhamon @@ -10,7 +10,7 @@ Signed-off-by: Ronan Abhamon 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/drivers/blktap2.py b/drivers/blktap2.py -index 370f7fb..fd7c643 100755 +index 370f7fb8..fd7c643d 100755 --- a/drivers/blktap2.py +++ b/drivers/blktap2.py @@ -36,7 +36,6 @@ import json @@ -43,6 +43,3 @@ index 370f7fb..fd7c643 100755 log_drbd_openers(path) raise try: --- -2.46.0 - diff --git a/SOURCES/0124-fix-LinstorSR-ensure-volume-cache-can-be-recreated.patch b/SOURCES/0123-fix-LinstorSR-ensure-volume-cache-can-be-recreated.patch similarity index 96% rename from SOURCES/0124-fix-LinstorSR-ensure-volume-cache-can-be-recreated.patch rename to SOURCES/0123-fix-LinstorSR-ensure-volume-cache-can-be-recreated.patch index a5267eea..1d8505e3 100644 --- a/SOURCES/0124-fix-LinstorSR-ensure-volume-cache-can-be-recreated.patch +++ b/SOURCES/0123-fix-LinstorSR-ensure-volume-cache-can-be-recreated.patch @@ -1,7 +1,7 @@ -From 99788730369ee3eb883d76b53b61a195f95c885d Mon Sep 17 00:00:00 2001 +From d7f9b42d42e95e7e16c48ede86d08cf6805a2803 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Wed, 21 Jun 2023 14:10:18 +0200 -Subject: [PATCH 124/178] fix(LinstorSR): ensure volume cache can be recreated +Subject: [PATCH 123/177] fix(LinstorSR): ensure volume cache can be recreated After SR creation we may fail to load volumes with this exception: "Failed to get usable size of..." and so we can't plug the master PBD. @@ -15,7 +15,7 @@ Signed-off-by: Ronan Abhamon 1 file changed, 40 insertions(+), 24 deletions(-) diff --git a/drivers/LinstorSR.py b/drivers/LinstorSR.py -index f6c4356..0bccc16 100755 +index f6c43569..0bccc167 100755 --- a/drivers/LinstorSR.py +++ b/drivers/LinstorSR.py @@ -523,28 +523,7 @@ class LinstorSR(SR.SR): @@ -107,6 +107,3 @@ index f6c4356..0bccc16 100755 def _ensure_space_available(self, amount_needed): space_available = self._linstor.max_volume_size_allowed if (space_available < amount_needed): --- -2.46.0 - diff --git a/SOURCES/0125-fix-linstor-manager-remove-dead-useless-code-in-add-.patch b/SOURCES/0124-fix-linstor-manager-remove-dead-useless-code-in-add-.patch similarity index 97% rename from SOURCES/0125-fix-linstor-manager-remove-dead-useless-code-in-add-.patch rename to SOURCES/0124-fix-linstor-manager-remove-dead-useless-code-in-add-.patch index 5ef43886..69fed8a9 100644 --- a/SOURCES/0125-fix-linstor-manager-remove-dead-useless-code-in-add-.patch +++ b/SOURCES/0124-fix-linstor-manager-remove-dead-useless-code-in-add-.patch @@ -1,7 +1,7 @@ -From c341a4047f34b35b128fd5555eeffe62b6a8977a Mon Sep 17 00:00:00 2001 +From 995b9dedf0234a2031f5ad0b12d986719d3ac822 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Thu, 20 Jul 2023 10:46:33 +0200 -Subject: [PATCH 125/178] fix(linstor-manager): remove dead/useless code in +Subject: [PATCH 124/177] fix(linstor-manager): remove dead/useless code in add/remove_host helpers Signed-off-by: Ronan Abhamon @@ -10,7 +10,7 @@ Signed-off-by: Ronan Abhamon 1 file changed, 15 insertions(+), 113 deletions(-) diff --git a/drivers/linstor-manager b/drivers/linstor-manager -index 9e96aac..45201ee 100755 +index 9e96aaca..45201eed 100755 --- a/drivers/linstor-manager +++ b/drivers/linstor-manager @@ -555,7 +555,7 @@ def has_controller_running(session, args): @@ -204,6 +204,3 @@ index 9e96aac..45201ee 100755 # 3. Stop services. try: --- -2.46.0 - diff --git a/SOURCES/0126-fix-LinstorSR-Ensure-we-always-have-a-device-path-du.patch b/SOURCES/0125-fix-LinstorSR-Ensure-we-always-have-a-device-path-du.patch similarity index 91% rename from SOURCES/0126-fix-LinstorSR-Ensure-we-always-have-a-device-path-du.patch rename to SOURCES/0125-fix-LinstorSR-Ensure-we-always-have-a-device-path-du.patch index 9bba4c29..7dd0920f 100644 --- a/SOURCES/0126-fix-LinstorSR-Ensure-we-always-have-a-device-path-du.patch +++ b/SOURCES/0125-fix-LinstorSR-Ensure-we-always-have-a-device-path-du.patch @@ -1,7 +1,7 @@ -From b63d80afb41d5cc1d053a3eb9cb12fe9d7c5cfee Mon Sep 17 00:00:00 2001 +From c37334e02b368588fafc4025fbfc4da228683180 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Tue, 1 Aug 2023 15:16:17 +0200 -Subject: [PATCH 126/178] fix(LinstorSR): Ensure we always have a device path +Subject: [PATCH 125/177] fix(LinstorSR): Ensure we always have a device path during leaf-coalesce calls So we must not verify that we have a valid DRBD path in the load step, @@ -18,7 +18,7 @@ Signed-off-by: Ronan Abhamon 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/drivers/cleanup.py b/drivers/cleanup.py -index f6c4346..19d03d9 100755 +index f6c4346b..19d03d96 100755 --- a/drivers/cleanup.py +++ b/drivers/cleanup.py @@ -1394,11 +1394,6 @@ class LinstorVDI(VDI): @@ -54,6 +54,3 @@ index f6c4346..19d03d9 100755 def _handleInterruptedCoalesceLeaf(self): entries = self.journaler.get_all(VDI.JRN_LEAF) for uuid, parentUuid in entries.iteritems(): --- -2.46.0 - diff --git a/SOURCES/0127-fix-LinstorSR-always-use-lock.acquire-during-attach-.patch b/SOURCES/0126-fix-LinstorSR-always-use-lock.acquire-during-attach-.patch similarity index 91% rename from SOURCES/0127-fix-LinstorSR-always-use-lock.acquire-during-attach-.patch rename to SOURCES/0126-fix-LinstorSR-always-use-lock.acquire-during-attach-.patch index 06b634b8..b231a85c 100644 --- a/SOURCES/0127-fix-LinstorSR-always-use-lock.acquire-during-attach-.patch +++ b/SOURCES/0126-fix-LinstorSR-always-use-lock.acquire-during-attach-.patch @@ -1,7 +1,7 @@ -From 859ddf7beed5f4c8967879a1815ba408b5990db1 Mon Sep 17 00:00:00 2001 +From 702635ac3b89737587c08cc0be9a4637968ca65a Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Wed, 16 Aug 2023 12:04:01 +0200 -Subject: [PATCH 127/178] fix(LinstorSR): always use lock.acquire() during +Subject: [PATCH 126/177] fix(LinstorSR): always use lock.acquire() during attach/detach We can't use a retry range on the lock because we can trigger a bad situation @@ -18,7 +18,7 @@ Signed-off-by: Ronan Abhamon 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/drivers/LinstorSR.py b/drivers/LinstorSR.py -index 0bccc16..98919a4 100755 +index 0bccc167..98919a48 100755 --- a/drivers/LinstorSR.py +++ b/drivers/LinstorSR.py @@ -142,14 +142,6 @@ def compute_volume_size(virtual_size, image_type): @@ -54,6 +54,3 @@ index 0bccc16..98919a4 100755 vdi_ref = session.xenapi.VDI.get_by_uuid(vdi_uuid) vbds = session.xenapi.VBD.get_all_records_where( --- -2.46.0 - diff --git a/SOURCES/0128-fix-LinstorSR-mare-sure-hostnames-are-unique-at-SR-c.patch b/SOURCES/0127-fix-LinstorSR-mare-sure-hostnames-are-unique-at-SR-c.patch similarity index 83% rename from SOURCES/0128-fix-LinstorSR-mare-sure-hostnames-are-unique-at-SR-c.patch rename to SOURCES/0127-fix-LinstorSR-mare-sure-hostnames-are-unique-at-SR-c.patch index cb75bacf..071f1629 100644 --- a/SOURCES/0128-fix-LinstorSR-mare-sure-hostnames-are-unique-at-SR-c.patch +++ b/SOURCES/0127-fix-LinstorSR-mare-sure-hostnames-are-unique-at-SR-c.patch @@ -1,7 +1,7 @@ -From 02b497c783fab888e8127ab5d1dd8b58632d2995 Mon Sep 17 00:00:00 2001 +From 4a733a4f09be1cf6e935443f8b895c97a1c29ae7 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Thu, 17 Aug 2023 14:52:13 +0200 -Subject: [PATCH 128/178] fix(LinstorSR): mare sure hostnames are unique at SR +Subject: [PATCH 127/177] fix(LinstorSR): mare sure hostnames are unique at SR creation Signed-off-by: Ronan Abhamon @@ -10,7 +10,7 @@ Signed-off-by: Ronan Abhamon 1 file changed, 6 insertions(+) diff --git a/drivers/LinstorSR.py b/drivers/LinstorSR.py -index 98919a4..e512487 100755 +index 98919a48..e512487c 100755 --- a/drivers/LinstorSR.py +++ b/drivers/LinstorSR.py @@ -649,6 +649,12 @@ class LinstorSR(SR.SR): @@ -26,6 +26,3 @@ index 98919a4..e512487 100755 # Ensure ports are opened and LINSTOR satellites # are activated. In the same time the drbd-reactor instances # must be stopped. --- -2.46.0 - diff --git a/SOURCES/0129-fix-LinstorSR-ensure-we-can-attach-non-special-stati.patch b/SOURCES/0128-fix-LinstorSR-ensure-we-can-attach-non-special-stati.patch similarity index 83% rename from SOURCES/0129-fix-LinstorSR-ensure-we-can-attach-non-special-stati.patch rename to SOURCES/0128-fix-LinstorSR-ensure-we-can-attach-non-special-stati.patch index 1512e878..b34a6d54 100644 --- a/SOURCES/0129-fix-LinstorSR-ensure-we-can-attach-non-special-stati.patch +++ b/SOURCES/0128-fix-LinstorSR-ensure-we-can-attach-non-special-stati.patch @@ -1,7 +1,7 @@ -From 6dff0030453b2031f625518f4e4fc6ae8a168eb9 Mon Sep 17 00:00:00 2001 +From 6e5f73ddd9126739642e38a9c388fbd0a24c2e66 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Fri, 18 Aug 2023 11:06:56 +0200 -Subject: [PATCH 129/178] fix(LinstorSR): ensure we can attach non-special +Subject: [PATCH 128/177] fix(LinstorSR): ensure we can attach non-special static VDIs Signed-off-by: Ronan Abhamon @@ -10,7 +10,7 @@ Signed-off-by: Ronan Abhamon 1 file changed, 3 insertions(+) diff --git a/drivers/LinstorSR.py b/drivers/LinstorSR.py -index e512487..1708370 100755 +index e512487c..17083703 100755 --- a/drivers/LinstorSR.py +++ b/drivers/LinstorSR.py @@ -461,6 +461,9 @@ class LinstorSR(SR.SR): @@ -23,6 +23,3 @@ index e512487..1708370 100755 controller_uri = get_controller_uri() if controller_uri: --- -2.46.0 - diff --git a/SOURCES/0130-fix-LinstorSR-ensure-we-can-detach-when-deflate-call.patch b/SOURCES/0129-fix-LinstorSR-ensure-we-can-detach-when-deflate-call.patch similarity index 95% rename from SOURCES/0130-fix-LinstorSR-ensure-we-can-detach-when-deflate-call.patch rename to SOURCES/0129-fix-LinstorSR-ensure-we-can-detach-when-deflate-call.patch index c18ee481..e125f520 100644 --- a/SOURCES/0130-fix-LinstorSR-ensure-we-can-detach-when-deflate-call.patch +++ b/SOURCES/0129-fix-LinstorSR-ensure-we-can-detach-when-deflate-call.patch @@ -1,7 +1,7 @@ -From 0d58254293a08ee5f0b1c4b8529dc04a8ea161f2 Mon Sep 17 00:00:00 2001 +From 95bb464732fb9d3a9b3b6fde2825d882e5e93181 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Thu, 31 Aug 2023 18:00:27 +0200 -Subject: [PATCH 130/178] fix(LinstorSR): ensure we can detach when deflate +Subject: [PATCH 129/177] fix(LinstorSR): ensure we can detach when deflate call is not possible Signed-off-by: Ronan Abhamon @@ -10,7 +10,7 @@ Signed-off-by: Ronan Abhamon 1 file changed, 30 insertions(+), 15 deletions(-) diff --git a/drivers/LinstorSR.py b/drivers/LinstorSR.py -index 1708370..a6ca884 100755 +index 17083703..a6ca8840 100755 --- a/drivers/LinstorSR.py +++ b/drivers/LinstorSR.py @@ -175,7 +175,7 @@ def attach_thin(session, journaler, linstor, sr_uuid, vdi_uuid): @@ -80,6 +80,3 @@ index 1708370..a6ca884 100755 def inflate(journaler, linstor, vdi_uuid, vdi_path, new_size, old_size): # Only inflate if the LINSTOR volume capacity is not enough. new_size = LinstorVolumeManager.round_up_volume_size(new_size) --- -2.46.0 - diff --git a/SOURCES/0131-fix-LinstorSR-assume-VDI-is-always-a-VHD-when-the-in.patch b/SOURCES/0130-fix-LinstorSR-assume-VDI-is-always-a-VHD-when-the-in.patch similarity index 87% rename from SOURCES/0131-fix-LinstorSR-assume-VDI-is-always-a-VHD-when-the-in.patch rename to SOURCES/0130-fix-LinstorSR-assume-VDI-is-always-a-VHD-when-the-in.patch index 4e77a648..6e87a3fb 100644 --- a/SOURCES/0131-fix-LinstorSR-assume-VDI-is-always-a-VHD-when-the-in.patch +++ b/SOURCES/0130-fix-LinstorSR-assume-VDI-is-always-a-VHD-when-the-in.patch @@ -1,7 +1,7 @@ -From 32ecbab86a91729a8b2d2f11830a8354d0a78a62 Mon Sep 17 00:00:00 2001 +From c6dc886f5c65373f9de255058b3652cd5015833a Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Thu, 28 Sep 2023 16:00:02 +0200 -Subject: [PATCH 131/178] fix(LinstorSR): assume VDI is always a VHD when the +Subject: [PATCH 130/177] fix(LinstorSR): assume VDI is always a VHD when the info is missing during cleanup Signed-off-by: Ronan Abhamon @@ -10,7 +10,7 @@ Signed-off-by: Ronan Abhamon 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/cleanup.py b/drivers/cleanup.py -index 19d03d9..5353e9a 100755 +index 19d03d96..5353e9aa 100755 --- a/drivers/cleanup.py +++ b/drivers/cleanup.py @@ -2995,11 +2995,11 @@ class LinstorSR(SR): @@ -29,6 +29,3 @@ index 19d03d9..5353e9a 100755 except Exception as e: Util.log( ' [VDI {}: failed to load VDI info]: {}' --- -2.46.0 - diff --git a/SOURCES/0132-fix-LinstorSR-remove-SR-lock-during-thin-attach-deta.patch b/SOURCES/0131-fix-LinstorSR-remove-SR-lock-during-thin-attach-deta.patch similarity index 97% rename from SOURCES/0132-fix-LinstorSR-remove-SR-lock-during-thin-attach-deta.patch rename to SOURCES/0131-fix-LinstorSR-remove-SR-lock-during-thin-attach-deta.patch index 6d03653a..626c6a19 100644 --- a/SOURCES/0132-fix-LinstorSR-remove-SR-lock-during-thin-attach-deta.patch +++ b/SOURCES/0131-fix-LinstorSR-remove-SR-lock-during-thin-attach-deta.patch @@ -1,7 +1,7 @@ -From 70ce954b27d64a8e6b7584270f9191409eef4161 Mon Sep 17 00:00:00 2001 +From 22caf88eac38057fddfe720fa6eb757677e69700 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Mon, 2 Oct 2023 16:48:49 +0200 -Subject: [PATCH 132/178] fix(LinstorSR): remove SR lock during thin +Subject: [PATCH 131/177] fix(LinstorSR): remove SR lock during thin attach/detach This lock is normally useless and can create a dead lock when thin mode is activated: @@ -20,7 +20,7 @@ Signed-off-by: Ronan Abhamon 1 file changed, 45 insertions(+), 57 deletions(-) diff --git a/drivers/LinstorSR.py b/drivers/LinstorSR.py -index a6ca884..ed41e77 100755 +index a6ca8840..ed41e77a 100755 --- a/drivers/LinstorSR.py +++ b/drivers/LinstorSR.py @@ -148,32 +148,26 @@ def attach_thin(session, journaler, linstor, sr_uuid, vdi_uuid): @@ -147,6 +147,3 @@ index a6ca884..ed41e77 100755 def detach_thin(session, linstor, sr_uuid, vdi_uuid): --- -2.46.0 - diff --git a/SOURCES/0133-fix-LinstorSR-ensure-database-is-mounted-during-scan.patch b/SOURCES/0132-fix-LinstorSR-ensure-database-is-mounted-during-scan.patch similarity index 92% rename from SOURCES/0133-fix-LinstorSR-ensure-database-is-mounted-during-scan.patch rename to SOURCES/0132-fix-LinstorSR-ensure-database-is-mounted-during-scan.patch index 7443ba1b..28529ced 100644 --- a/SOURCES/0133-fix-LinstorSR-ensure-database-is-mounted-during-scan.patch +++ b/SOURCES/0132-fix-LinstorSR-ensure-database-is-mounted-during-scan.patch @@ -1,7 +1,7 @@ -From c6079f164c87e87c519cd1eb1d9c79603bc19906 Mon Sep 17 00:00:00 2001 +From df5176f05b614facade947a58f334cde16b1d127 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Tue, 3 Oct 2023 18:42:42 +0200 -Subject: [PATCH 133/178] fix(LinstorSR): ensure database is mounted during +Subject: [PATCH 132/177] fix(LinstorSR): ensure database is mounted during scan Signed-off-by: Ronan Abhamon @@ -11,7 +11,7 @@ Signed-off-by: Ronan Abhamon 2 files changed, 24 insertions(+), 1 deletion(-) diff --git a/drivers/LinstorSR.py b/drivers/LinstorSR.py -index ed41e77..ed5998e 100755 +index ed41e77a..ed5998e8 100755 --- a/drivers/LinstorSR.py +++ b/drivers/LinstorSR.py @@ -824,6 +824,21 @@ class LinstorSR(SR.SR): @@ -37,7 +37,7 @@ index ed41e77..ed5998e 100755 # bad sync in the process if new VDIs have been introduced. ret = super(LinstorSR, self).scan(self.uuid) diff --git a/drivers/linstorvolumemanager.py b/drivers/linstorvolumemanager.py -index ee637ae..f1f3bce 100755 +index ee637ae2..f1f3bce7 100755 --- a/drivers/linstorvolumemanager.py +++ b/drivers/linstorvolumemanager.py @@ -884,7 +884,7 @@ class LinstorVolumeManager(object): @@ -64,6 +64,3 @@ index ee637ae..f1f3bce 100755 @classmethod def create_sr( cls, group_name, ips, redundancy, --- -2.46.0 - diff --git a/SOURCES/0134-fix-LinstorSR-restart-drbd-reactor-in-case-of-failur.patch b/SOURCES/0133-fix-LinstorSR-restart-drbd-reactor-in-case-of-failur.patch similarity index 86% rename from SOURCES/0134-fix-LinstorSR-restart-drbd-reactor-in-case-of-failur.patch rename to SOURCES/0133-fix-LinstorSR-restart-drbd-reactor-in-case-of-failur.patch index b64f2a51..70fdae5f 100644 --- a/SOURCES/0134-fix-LinstorSR-restart-drbd-reactor-in-case-of-failur.patch +++ b/SOURCES/0133-fix-LinstorSR-restart-drbd-reactor-in-case-of-failur.patch @@ -1,7 +1,7 @@ -From 9f7664dbeb77485792a15db05e794e6f0c5edceb Mon Sep 17 00:00:00 2001 +From 7390ea3e7d8306a2d70a1853cdfd45c8e8fa599c Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Wed, 4 Oct 2023 14:30:36 +0200 -Subject: [PATCH 134/178] fix(LinstorSR): restart drbd-reactor in case of +Subject: [PATCH 133/177] fix(LinstorSR): restart drbd-reactor in case of failure Otherwise we can have all hosts unusable after a massive reboot: @@ -16,10 +16,10 @@ Signed-off-by: Ronan Abhamon create mode 100644 etc/systemd/system/drbd-reactor.service.d/override.conf diff --git a/Makefile b/Makefile -index 0ce6dfb..088c2b7 100755 +index bc3e97fe..7f7740cb 100755 --- a/Makefile +++ b/Makefile -@@ -148,6 +148,7 @@ install: precheck +@@ -149,6 +149,7 @@ install: precheck mkdir -p $(SM_STAGING)$(UDEV_SCRIPTS_DIR) mkdir -p $(SM_STAGING)$(INIT_DIR) mkdir -p $(SM_STAGING)$(SYSTEMD_CONF_DIR) @@ -27,7 +27,7 @@ index 0ce6dfb..088c2b7 100755 mkdir -p $(SM_STAGING)$(SYSTEMD_CONF_DIR)/linstor-satellite.service.d mkdir -p $(SM_STAGING)$(SYSTEMD_SERVICE_DIR) mkdir -p $(SM_STAGING)$(MPATH_CONF_DIR) -@@ -177,6 +178,8 @@ install: precheck +@@ -178,6 +179,8 @@ install: precheck $(SM_STAGING)/$(SM_DEST) install -m 644 etc/logrotate.d/$(SMLOG_CONF) \ $(SM_STAGING)/$(LOGROTATE_DIR) @@ -38,7 +38,7 @@ index 0ce6dfb..088c2b7 100755 install -m 644 etc/systemd/system/var-lib-linstor.service \ diff --git a/etc/systemd/system/drbd-reactor.service.d/override.conf b/etc/systemd/system/drbd-reactor.service.d/override.conf new file mode 100644 -index 0000000..2f99a46 +index 00000000..2f99a46a --- /dev/null +++ b/etc/systemd/system/drbd-reactor.service.d/override.conf @@ -0,0 +1,6 @@ @@ -48,6 +48,3 @@ index 0000000..2f99a46 + +Restart=always +RestartSec=2 --- -2.46.0 - diff --git a/SOURCES/0135-fix-linstorvolumemanager-retry-in-case-of-failure-du.patch b/SOURCES/0134-fix-linstorvolumemanager-retry-in-case-of-failure-du.patch similarity index 85% rename from SOURCES/0135-fix-linstorvolumemanager-retry-in-case-of-failure-du.patch rename to SOURCES/0134-fix-linstorvolumemanager-retry-in-case-of-failure-du.patch index b4971a07..25fcea1d 100644 --- a/SOURCES/0135-fix-linstorvolumemanager-retry-in-case-of-failure-du.patch +++ b/SOURCES/0134-fix-linstorvolumemanager-retry-in-case-of-failure-du.patch @@ -1,7 +1,7 @@ -From bdd5c9af875ffc62d413a29ce70d2408b78a1304 Mon Sep 17 00:00:00 2001 +From 6a32f73ae5ad04597e53607f4fbc16aca15c786d Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Mon, 9 Oct 2023 10:37:32 +0200 -Subject: [PATCH 135/178] fix(linstorvolumemanager): retry in case of failure +Subject: [PATCH 134/177] fix(linstorvolumemanager): retry in case of failure during mkfs call on database The device is not always ready after creation. @@ -13,7 +13,7 @@ Signed-off-by: Ronan Abhamon 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/drivers/linstorvolumemanager.py b/drivers/linstorvolumemanager.py -index f1f3bce..23e80d9 100755 +index f1f3bce7..23e80d91 100755 --- a/drivers/linstorvolumemanager.py +++ b/drivers/linstorvolumemanager.py @@ -2666,7 +2666,10 @@ class LinstorVolumeManager(object): @@ -28,6 +28,3 @@ index f1f3bce..23e80d9 100755 except Exception as e: raise LinstorVolumeManagerError( 'Failed to execute {} on database volume: {}' --- -2.46.0 - diff --git a/SOURCES/0136-fix-linstorvolumemanager-avoid-diskless-creation-whe.patch b/SOURCES/0135-fix-linstorvolumemanager-avoid-diskless-creation-whe.patch similarity index 97% rename from SOURCES/0136-fix-linstorvolumemanager-avoid-diskless-creation-whe.patch rename to SOURCES/0135-fix-linstorvolumemanager-avoid-diskless-creation-whe.patch index dbe7ef2c..de3921cc 100644 --- a/SOURCES/0136-fix-linstorvolumemanager-avoid-diskless-creation-whe.patch +++ b/SOURCES/0135-fix-linstorvolumemanager-avoid-diskless-creation-whe.patch @@ -1,7 +1,7 @@ -From a6352f0f967b9f688240e3bd2928330fab772893 Mon Sep 17 00:00:00 2001 +From ff0e8ab6bd35de815a4fa8ab11fee5c72ef0cb9f Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Tue, 26 Sep 2023 11:48:38 +0200 -Subject: [PATCH 136/178] fix(linstorvolumemanager): avoid diskless creation +Subject: [PATCH 135/177] fix(linstorvolumemanager): avoid diskless creation when a new resource is added Like said in this discussion https://github.com/xcp-ng/sm/pull/34 : @@ -15,7 +15,7 @@ Signed-off-by: Ronan Abhamon 1 file changed, 9 insertions(+), 42 deletions(-) diff --git a/drivers/linstorvolumemanager.py b/drivers/linstorvolumemanager.py -index 23e80d9..49ca83c 100755 +index 23e80d91..49ca83c0 100755 --- a/drivers/linstorvolumemanager.py +++ b/drivers/linstorvolumemanager.py @@ -614,8 +614,7 @@ class LinstorVolumeManager(object): @@ -141,6 +141,3 @@ index 23e80d9..49ca83c 100755 ) assert volume_properties.namespace == \ --- -2.46.0 - diff --git a/SOURCES/0137-fix-LinstorSR-remove-diskless-after-VDI.detach-calls.patch b/SOURCES/0136-fix-LinstorSR-remove-diskless-after-VDI.detach-calls.patch similarity index 94% rename from SOURCES/0137-fix-LinstorSR-remove-diskless-after-VDI.detach-calls.patch rename to SOURCES/0136-fix-LinstorSR-remove-diskless-after-VDI.detach-calls.patch index d6788193..aa86e473 100644 --- a/SOURCES/0137-fix-LinstorSR-remove-diskless-after-VDI.detach-calls.patch +++ b/SOURCES/0136-fix-LinstorSR-remove-diskless-after-VDI.detach-calls.patch @@ -1,7 +1,7 @@ -From e543a48ebf3139d6423b5273777592bfe172a58c Mon Sep 17 00:00:00 2001 +From 5c2438ce41542c763cd40a260ab5cd223f551f59 Mon Sep 17 00:00:00 2001 From: Rene Peinthor Date: Tue, 25 Jul 2023 11:19:39 +0200 -Subject: [PATCH 137/178] fix(LinstorSR): remove diskless after VDI.detach +Subject: [PATCH 136/177] fix(LinstorSR): remove diskless after VDI.detach calls Signed-off-by: Rene Peinthor @@ -12,7 +12,7 @@ Co-authored-by: Ronan Abhamon 2 files changed, 43 insertions(+), 3 deletions(-) diff --git a/drivers/LinstorSR.py b/drivers/LinstorSR.py -index ed5998e..7b9a8e5 100755 +index ed5998e8..7b9a8e57 100755 --- a/drivers/LinstorSR.py +++ b/drivers/LinstorSR.py @@ -1943,6 +1943,26 @@ class LinstorVDI(VDI.VDI): @@ -43,7 +43,7 @@ index ed5998e..7b9a8e5 100755 util.SMlog('LinstorVDI.resize for {}'.format(self.uuid)) if not self.sr._is_master: diff --git a/drivers/linstorvolumemanager.py b/drivers/linstorvolumemanager.py -index 49ca83c..0f6fbcf 100755 +index 49ca83c0..0f6fbcf3 100755 --- a/drivers/linstorvolumemanager.py +++ b/drivers/linstorvolumemanager.py @@ -781,6 +781,28 @@ class LinstorVolumeManager(object): @@ -86,6 +86,3 @@ index 49ca83c..0f6fbcf 100755 if linstor.Linstor.all_api_responses_no_error(result): return errors = linstor.Linstor.filter_api_call_response_errors(result) --- -2.46.0 - diff --git a/SOURCES/0138-fix-LinstorSR-robustify-_load_vdi_info-in-cleanup.py.patch b/SOURCES/0137-fix-LinstorSR-robustify-_load_vdi_info-in-cleanup.py.patch similarity index 96% rename from SOURCES/0138-fix-LinstorSR-robustify-_load_vdi_info-in-cleanup.py.patch rename to SOURCES/0137-fix-LinstorSR-robustify-_load_vdi_info-in-cleanup.py.patch index 607bb851..27a5c404 100644 --- a/SOURCES/0138-fix-LinstorSR-robustify-_load_vdi_info-in-cleanup.py.patch +++ b/SOURCES/0137-fix-LinstorSR-robustify-_load_vdi_info-in-cleanup.py.patch @@ -1,7 +1,7 @@ -From c3f1a7b62b9696cc6abb305a5164a75b49240de6 Mon Sep 17 00:00:00 2001 +From 0a1d454d4da2596a1a724ff27df4ec88ee10c862 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Wed, 11 Oct 2023 12:39:56 +0200 -Subject: [PATCH 138/178] fix(LinstorSR): robustify _load_vdi_info in +Subject: [PATCH 137/177] fix(LinstorSR): robustify _load_vdi_info in cleanup.py After a failed snapshot like that: @@ -24,7 +24,7 @@ Signed-off-by: Ronan Abhamon 1 file changed, 42 insertions(+), 4 deletions(-) diff --git a/drivers/cleanup.py b/drivers/cleanup.py -index 5353e9a..376da3e 100755 +index 5353e9aa..376da3ec 100755 --- a/drivers/cleanup.py +++ b/drivers/cleanup.py @@ -2990,16 +2990,31 @@ class LinstorSR(SR): @@ -94,6 +94,3 @@ index 5353e9a..376da3e 100755 return all_vdi_info # TODO: Maybe implement _liveLeafCoalesce/_prepareCoalesceLeaf/ --- -2.46.0 - diff --git a/SOURCES/0139-fix-LinstorSR-ensure-detach-never-fails-on-plugin-fa.patch b/SOURCES/0138-fix-LinstorSR-ensure-detach-never-fails-on-plugin-fa.patch similarity index 83% rename from SOURCES/0139-fix-LinstorSR-ensure-detach-never-fails-on-plugin-fa.patch rename to SOURCES/0138-fix-LinstorSR-ensure-detach-never-fails-on-plugin-fa.patch index e11b6690..aa023a98 100644 --- a/SOURCES/0139-fix-LinstorSR-ensure-detach-never-fails-on-plugin-fa.patch +++ b/SOURCES/0138-fix-LinstorSR-ensure-detach-never-fails-on-plugin-fa.patch @@ -1,7 +1,7 @@ -From f885dbd5d82b1af3ca70b38a0640580207d9bf5a Mon Sep 17 00:00:00 2001 +From 4bde9e58023aa98a2fe12a8d164593cad5ed461c Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Mon, 23 Oct 2023 14:31:27 +0200 -Subject: [PATCH 139/178] fix(LinstorSR): ensure detach never fails on plugin +Subject: [PATCH 138/177] fix(LinstorSR): ensure detach never fails on plugin failure Signed-off-by: Ronan Abhamon @@ -10,7 +10,7 @@ Signed-off-by: Ronan Abhamon 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/drivers/LinstorSR.py b/drivers/LinstorSR.py -index 7b9a8e5..d0fc421 100755 +index 7b9a8e57..d0fc4219 100755 --- a/drivers/LinstorSR.py +++ b/drivers/LinstorSR.py @@ -2241,7 +2241,12 @@ class LinstorVDI(VDI.VDI): @@ -27,6 +27,3 @@ index 7b9a8e5..d0fc421 100755 # Reload size attrs after inflate or deflate! self._load_this() --- -2.46.0 - diff --git a/SOURCES/0140-fix-LinstorSR-ensure-we-coalesce-only-volumes-with-a.patch b/SOURCES/0139-fix-LinstorSR-ensure-we-coalesce-only-volumes-with-a.patch similarity index 95% rename from SOURCES/0140-fix-LinstorSR-ensure-we-coalesce-only-volumes-with-a.patch rename to SOURCES/0139-fix-LinstorSR-ensure-we-coalesce-only-volumes-with-a.patch index fd4e6097..053968d8 100644 --- a/SOURCES/0140-fix-LinstorSR-ensure-we-coalesce-only-volumes-with-a.patch +++ b/SOURCES/0139-fix-LinstorSR-ensure-we-coalesce-only-volumes-with-a.patch @@ -1,7 +1,7 @@ -From 3633eecad17dc34a65fbb127f11ec90c5934d2d4 Mon Sep 17 00:00:00 2001 +From 36c947f39a9f5ce215b86b2230dcb4c8e25c8515 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Mon, 23 Oct 2023 15:52:23 +0200 -Subject: [PATCH 140/178] fix(LinstorSR): ensure we coalesce only volumes with +Subject: [PATCH 139/177] fix(LinstorSR): ensure we coalesce only volumes with a valid size --- @@ -11,7 +11,7 @@ Subject: [PATCH 140/178] fix(LinstorSR): ensure we coalesce only volumes with 3 files changed, 47 insertions(+), 3 deletions(-) diff --git a/drivers/cleanup.py b/drivers/cleanup.py -index 376da3e..4e4620f 100755 +index 376da3ec..4e4620f3 100755 --- a/drivers/cleanup.py +++ b/drivers/cleanup.py @@ -1441,6 +1441,20 @@ class LinstorVDI(VDI): @@ -36,7 +36,7 @@ index 376da3e..4e4620f 100755 def getParent(self): diff --git a/drivers/linstor-manager b/drivers/linstor-manager -index 45201ee..9e5e1d6 100755 +index 45201eed..9e5e1d6e 100755 --- a/drivers/linstor-manager +++ b/drivers/linstor-manager @@ -485,6 +485,18 @@ def get_block_bitmap(session, args): @@ -69,7 +69,7 @@ index 45201ee..9e5e1d6 100755 # is opened on a non-local host. 'setParent': set_parent, diff --git a/drivers/linstorvhdutil.py b/drivers/linstorvhdutil.py -index 8b6985d..5f3ae08 100644 +index 8b6985d9..5f3ae084 100644 --- a/drivers/linstorvhdutil.py +++ b/drivers/linstorvhdutil.py @@ -38,7 +38,7 @@ def call_vhd_util_on_host(session, host_ref, method, device_path, args): @@ -135,6 +135,3 @@ index 8b6985d..5f3ae08 100644 # A. Try to write locally... try: return self._call_local_vhd_util(local_method, device_path, *args, **kwargs) --- -2.46.0 - diff --git a/SOURCES/0141-fix-LinstorSR-don-t-try-to-repair-persistent-volumes.patch b/SOURCES/0140-fix-LinstorSR-don-t-try-to-repair-persistent-volumes.patch similarity index 97% rename from SOURCES/0141-fix-LinstorSR-don-t-try-to-repair-persistent-volumes.patch rename to SOURCES/0140-fix-LinstorSR-don-t-try-to-repair-persistent-volumes.patch index 35f9c9df..221ab9fb 100644 --- a/SOURCES/0141-fix-LinstorSR-don-t-try-to-repair-persistent-volumes.patch +++ b/SOURCES/0140-fix-LinstorSR-don-t-try-to-repair-persistent-volumes.patch @@ -1,7 +1,7 @@ -From 3be63d299ba706e86f1fbcac59d5173967860a2e Mon Sep 17 00:00:00 2001 +From 617b8ba080a59dcaabc896aa50d5b5f97b0c802d Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Tue, 24 Oct 2023 11:57:40 +0200 -Subject: [PATCH 141/178] fix(LinstorSR): don't try to repair persistent +Subject: [PATCH 140/177] fix(LinstorSR): don't try to repair persistent volumes in GC Use constants to simplify maintenance. @@ -12,7 +12,7 @@ Use constants to simplify maintenance. 3 files changed, 43 insertions(+), 36 deletions(-) diff --git a/drivers/LinstorSR.py b/drivers/LinstorSR.py -index d0fc421..d0ce079 100755 +index d0fc4219..d0ce079a 100755 --- a/drivers/LinstorSR.py +++ b/drivers/LinstorSR.py @@ -23,6 +23,7 @@ try: @@ -94,7 +94,7 @@ index d0fc421..d0ce079 100755 self._start_persistent_http_server(volume_name) diff --git a/drivers/cleanup.py b/drivers/cleanup.py -index 4e4620f..1f89822 100755 +index 4e4620f3..1f898225 100755 --- a/drivers/cleanup.py +++ b/drivers/cleanup.py @@ -55,6 +55,7 @@ try: @@ -178,7 +178,7 @@ index 4e4620f..1f89822 100755 return all_vdi_info diff --git a/drivers/linstorvolumemanager.py b/drivers/linstorvolumemanager.py -index 0f6fbcf..47ca4e8 100755 +index 0f6fbcf3..47ca4e87 100755 --- a/drivers/linstorvolumemanager.py +++ b/drivers/linstorvolumemanager.py @@ -30,9 +30,11 @@ import time @@ -194,6 +194,3 @@ index 0f6fbcf..47ca4e8 100755 DATABASE_SIZE = 1 << 30 # 1GB. DATABASE_PATH = '/var/lib/linstor' DATABASE_MKFS = 'mkfs.ext4' --- -2.46.0 - diff --git a/SOURCES/0142-fix-linstorvhdutil-format-correctly-message-if-vhd-u.patch b/SOURCES/0141-fix-linstorvhdutil-format-correctly-message-if-vhd-u.patch similarity index 84% rename from SOURCES/0142-fix-linstorvhdutil-format-correctly-message-if-vhd-u.patch rename to SOURCES/0141-fix-linstorvhdutil-format-correctly-message-if-vhd-u.patch index 4b328cab..091a3702 100644 --- a/SOURCES/0142-fix-linstorvhdutil-format-correctly-message-if-vhd-u.patch +++ b/SOURCES/0141-fix-linstorvhdutil-format-correctly-message-if-vhd-u.patch @@ -1,7 +1,7 @@ -From 1230aa74fee21eabb70be27959d16a01b20dd747 Mon Sep 17 00:00:00 2001 +From f7550af25b4e1055e33db0ff15b8e03269c92f63 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Tue, 14 Nov 2023 18:21:53 +0100 -Subject: [PATCH 142/178] fix(linstorvhdutil): format correctly message if +Subject: [PATCH 141/177] fix(linstorvhdutil): format correctly message if vhd-util cannot be run Signed-off-by: Ronan Abhamon @@ -10,7 +10,7 @@ Signed-off-by: Ronan Abhamon 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/linstorvhdutil.py b/drivers/linstorvhdutil.py -index 5f3ae08..3ce7ab9 100644 +index 5f3ae084..3ce7ab9e 100644 --- a/drivers/linstorvhdutil.py +++ b/drivers/linstorvhdutil.py @@ -441,7 +441,7 @@ class LinstorVhdUtil: @@ -23,6 +23,3 @@ index 5f3ae08..3ce7ab9 100644 + .format(remote_method, device_path, openers) ) return util.retry(remote_call, 5, 2) --- -2.46.0 - diff --git a/SOURCES/0143-fix-LinstorSR-wait-during-attach-to-open-DRBD-path.patch b/SOURCES/0142-fix-LinstorSR-wait-during-attach-to-open-DRBD-path.patch similarity index 90% rename from SOURCES/0143-fix-LinstorSR-wait-during-attach-to-open-DRBD-path.patch rename to SOURCES/0142-fix-LinstorSR-wait-during-attach-to-open-DRBD-path.patch index 897cc47e..4fc53ecc 100644 --- a/SOURCES/0143-fix-LinstorSR-wait-during-attach-to-open-DRBD-path.patch +++ b/SOURCES/0142-fix-LinstorSR-wait-during-attach-to-open-DRBD-path.patch @@ -1,7 +1,7 @@ -From 7bfaf3d9be6f56fec13b0f8536e8748fc053620a Mon Sep 17 00:00:00 2001 +From bcb27b1748ce126b0624153dfd6b2d768825068c Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Tue, 24 Oct 2023 23:07:23 +0200 -Subject: [PATCH 143/178] fix(LinstorSR): wait during attach to open DRBD path +Subject: [PATCH 142/177] fix(LinstorSR): wait during attach to open DRBD path ENODATA and other errors like EROFS can be raised when a new DRBD path is created on the fly. So ensure to block before tapdisk starts. @@ -12,7 +12,7 @@ Signed-off-by: Ronan Abhamon 1 file changed, 19 insertions(+) diff --git a/drivers/LinstorSR.py b/drivers/LinstorSR.py -index d0ce079..3063abf 100755 +index d0ce079a..3063abf4 100755 --- a/drivers/LinstorSR.py +++ b/drivers/LinstorSR.py @@ -1901,6 +1901,25 @@ class LinstorVDI(VDI.VDI): @@ -41,6 +41,3 @@ index d0ce079..3063abf 100755 vdi_uuid = self.sr._vhdutil.get_vhd_info(vdi_uuid).parentUuid self.attached = True --- -2.46.0 - diff --git a/SOURCES/0144-fix-LinstorSR-support-different-volume-sizes-in-clea.patch b/SOURCES/0143-fix-LinstorSR-support-different-volume-sizes-in-clea.patch similarity index 98% rename from SOURCES/0144-fix-LinstorSR-support-different-volume-sizes-in-clea.patch rename to SOURCES/0143-fix-LinstorSR-support-different-volume-sizes-in-clea.patch index 9d280f4b..2313dbff 100644 --- a/SOURCES/0144-fix-LinstorSR-support-different-volume-sizes-in-clea.patch +++ b/SOURCES/0143-fix-LinstorSR-support-different-volume-sizes-in-clea.patch @@ -1,7 +1,7 @@ -From cbbfa5a864ea184ecfed516cf0948a5b5075dfda Mon Sep 17 00:00:00 2001 +From bc5ad1c63ac6ea7c485231b8781a688f06a25bdd Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Tue, 14 Nov 2023 18:08:26 +0100 -Subject: [PATCH 144/178] fix(LinstorSR): support different volume sizes in +Subject: [PATCH 143/177] fix(LinstorSR): support different volume sizes in cleanup.py Signed-off-by: Ronan Abhamon @@ -12,7 +12,7 @@ Signed-off-by: Ronan Abhamon 3 files changed, 194 insertions(+), 106 deletions(-) diff --git a/drivers/LinstorSR.py b/drivers/LinstorSR.py -index 3063abf..6802f49 100755 +index 3063abf4..6802f494 100755 --- a/drivers/LinstorSR.py +++ b/drivers/LinstorSR.py @@ -134,19 +134,6 @@ OPS_EXCLUSIVE = [ @@ -211,7 +211,7 @@ index 3063abf..6802f49 100755 new_volume_size, old_volume_size ) diff --git a/drivers/cleanup.py b/drivers/cleanup.py -index 1f89822..d2fb884 100755 +index 1f898225..d2fb884f 100755 --- a/drivers/cleanup.py +++ b/drivers/cleanup.py @@ -1383,8 +1383,6 @@ class LVHDVDI(VDI): @@ -399,7 +399,7 @@ index 1f89822..d2fb884 100755 def _hasValidDevicePath(self, uuid): try: diff --git a/drivers/linstorvhdutil.py b/drivers/linstorvhdutil.py -index 3ce7ab9..239a10a 100644 +index 3ce7ab9e..239a10ad 100644 --- a/drivers/linstorvhdutil.py +++ b/drivers/linstorvhdutil.py @@ -14,6 +14,8 @@ @@ -512,6 +512,3 @@ index 3ce7ab9..239a10a 100644 # -------------------------------------------------------------------------- # Helpers. # -------------------------------------------------------------------------- --- -2.46.0 - diff --git a/SOURCES/0145-fix-LinstorSR-remove-useless-IPS_XHA_CACHE-var.patch b/SOURCES/0144-fix-LinstorSR-remove-useless-IPS_XHA_CACHE-var.patch similarity index 79% rename from SOURCES/0145-fix-LinstorSR-remove-useless-IPS_XHA_CACHE-var.patch rename to SOURCES/0144-fix-LinstorSR-remove-useless-IPS_XHA_CACHE-var.patch index 7deb5b59..b62979bd 100644 --- a/SOURCES/0145-fix-LinstorSR-remove-useless-IPS_XHA_CACHE-var.patch +++ b/SOURCES/0144-fix-LinstorSR-remove-useless-IPS_XHA_CACHE-var.patch @@ -1,7 +1,7 @@ -From 1b324ce8a21ca4bf18125e43885683084a5a8c08 Mon Sep 17 00:00:00 2001 +From 815410bd3e5d6f4fda556e20cafdfa7950fef25a Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Mon, 20 Nov 2023 10:52:27 +0100 -Subject: [PATCH 145/178] fix(LinstorSR): remove useless IPS_XHA_CACHE var +Subject: [PATCH 144/177] fix(LinstorSR): remove useless IPS_XHA_CACHE var Signed-off-by: Ronan Abhamon --- @@ -9,7 +9,7 @@ Signed-off-by: Ronan Abhamon 1 file changed, 6 deletions(-) diff --git a/drivers/LinstorSR.py b/drivers/LinstorSR.py -index 6802f49..c570925 100755 +index 6802f494..c570925f 100755 --- a/drivers/LinstorSR.py +++ b/drivers/LinstorSR.py @@ -210,13 +210,7 @@ def detach_thin(session, linstor, sr_uuid, vdi_uuid): @@ -26,6 +26,3 @@ index 6802f49..c570925 100755 ips = dict() host_id = None try: --- -2.46.0 - diff --git a/SOURCES/0146-fix-LinstorSR-ensure-we-can-deflate-on-any-host-afte.patch b/SOURCES/0145-fix-LinstorSR-ensure-we-can-deflate-on-any-host-afte.patch similarity index 98% rename from SOURCES/0146-fix-LinstorSR-ensure-we-can-deflate-on-any-host-afte.patch rename to SOURCES/0145-fix-LinstorSR-ensure-we-can-deflate-on-any-host-afte.patch index 16ced1c8..ce12cecc 100644 --- a/SOURCES/0146-fix-LinstorSR-ensure-we-can-deflate-on-any-host-afte.patch +++ b/SOURCES/0145-fix-LinstorSR-ensure-we-can-deflate-on-any-host-afte.patch @@ -1,7 +1,7 @@ -From 4a7d088083167e073cf0149f3ad54aa0c31869c3 Mon Sep 17 00:00:00 2001 +From daa0e0ad7d04bc2faf53632eb9391ea578cd2124 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Tue, 21 Nov 2023 13:50:24 +0100 -Subject: [PATCH 146/178] fix(LinstorSR): ensure we can deflate on any host +Subject: [PATCH 145/177] fix(LinstorSR): ensure we can deflate on any host after a journal rollback Signed-off-by: Ronan Abhamon @@ -13,7 +13,7 @@ Signed-off-by: Ronan Abhamon 4 files changed, 76 insertions(+), 42 deletions(-) diff --git a/drivers/LinstorSR.py b/drivers/LinstorSR.py -index c570925..1d1b51a 100755 +index c570925f..1d1b51a8 100755 --- a/drivers/LinstorSR.py +++ b/drivers/LinstorSR.py @@ -197,7 +197,7 @@ def detach_thin_impl(session, linstor, sr_uuid, vdi_uuid): @@ -41,7 +41,7 @@ index c570925..1d1b51a 100755 def _handle_interrupted_clone( self, vdi_uuid, clone_info, force_undo=False diff --git a/drivers/cleanup.py b/drivers/cleanup.py -index d2fb884..3c2810c 100755 +index d2fb884f..3c2810cd 100755 --- a/drivers/cleanup.py +++ b/drivers/cleanup.py @@ -1432,7 +1432,7 @@ class LinstorVDI(VDI): @@ -54,7 +54,7 @@ index d2fb884..3c2810c 100755 self.sr.unlock() self.drbd_size = self.sr._vhdutil.get_drbd_size(self.uuid) diff --git a/drivers/linstor-manager b/drivers/linstor-manager -index 9e5e1d6..7726c1b 100755 +index 9e5e1d6e..7726c1b7 100755 --- a/drivers/linstor-manager +++ b/drivers/linstor-manager @@ -28,6 +28,7 @@ import XenAPI @@ -103,7 +103,7 @@ index 9e5e1d6..7726c1b 100755 'hasControllerRunning': has_controller_running, 'addHost': add_host, diff --git a/drivers/linstorvhdutil.py b/drivers/linstorvhdutil.py -index 239a10a..23d8b6a 100644 +index 239a10ad..23d8b6a0 100644 --- a/drivers/linstorvhdutil.py +++ b/drivers/linstorvhdutil.py @@ -31,7 +31,7 @@ MANAGER_PLUGIN = 'linstor-manager' @@ -313,6 +313,3 @@ index 239a10a..23d8b6a 100644 + 'EIO', + opterr='Failed to zero out VHD footer {}'.format(path) + ) --- -2.46.0 - diff --git a/SOURCES/0147-fix-LinstorSR-ensure-we-always-use-real-DRBD-VHD-siz.patch b/SOURCES/0146-fix-LinstorSR-ensure-we-always-use-real-DRBD-VHD-siz.patch similarity index 97% rename from SOURCES/0147-fix-LinstorSR-ensure-we-always-use-real-DRBD-VHD-siz.patch rename to SOURCES/0146-fix-LinstorSR-ensure-we-always-use-real-DRBD-VHD-siz.patch index 0e5ceb7d..7f844251 100644 --- a/SOURCES/0147-fix-LinstorSR-ensure-we-always-use-real-DRBD-VHD-siz.patch +++ b/SOURCES/0146-fix-LinstorSR-ensure-we-always-use-real-DRBD-VHD-siz.patch @@ -1,7 +1,7 @@ -From 6fdfda1d9cc245c0227c7db49115f1ae689ae242 Mon Sep 17 00:00:00 2001 +From 2c4bc0996f19981355de333f9cc41619fa10cb7e Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Mon, 27 Nov 2023 12:15:43 +0100 -Subject: [PATCH 147/178] fix(LinstorSR): ensure we always use real DRBD/VHD +Subject: [PATCH 146/177] fix(LinstorSR): ensure we always use real DRBD/VHD sizes in inflate/deflate GC calls --- @@ -9,7 +9,7 @@ Subject: [PATCH 147/178] fix(LinstorSR): ensure we always use real DRBD/VHD 1 file changed, 30 insertions(+), 24 deletions(-) diff --git a/drivers/cleanup.py b/drivers/cleanup.py -index 3c2810c..8635f48 100755 +index 3c2810cd..8635f488 100755 --- a/drivers/cleanup.py +++ b/drivers/cleanup.py @@ -1405,38 +1405,49 @@ class LinstorVDI(VDI): @@ -144,6 +144,3 @@ index 3c2810c..8635f48 100755 def _handleInterruptedCoalesceLeaf(self): entries = self.journaler.get_all(VDI.JRN_LEAF) for uuid, parentUuid in entries.iteritems(): --- -2.46.0 - diff --git a/SOURCES/0148-feat-linstor-kv-tool-If-no-controller-uri-option-is-.patch b/SOURCES/0147-feat-linstor-kv-tool-If-no-controller-uri-option-is-.patch similarity index 91% rename from SOURCES/0148-feat-linstor-kv-tool-If-no-controller-uri-option-is-.patch rename to SOURCES/0147-feat-linstor-kv-tool-If-no-controller-uri-option-is-.patch index e8b2693a..d8938a1d 100644 --- a/SOURCES/0148-feat-linstor-kv-tool-If-no-controller-uri-option-is-.patch +++ b/SOURCES/0147-feat-linstor-kv-tool-If-no-controller-uri-option-is-.patch @@ -1,7 +1,7 @@ -From 620ca1abd996743be6096300df42230c23c35d9d Mon Sep 17 00:00:00 2001 +From 8e7a4046896e09fd53feab9581d68447da5ea5e0 Mon Sep 17 00:00:00 2001 From: BenjiReis Date: Mon, 27 Nov 2023 14:23:57 +0100 -Subject: [PATCH 148/178] feat(linstor-kv-tool): If no controller uri option is +Subject: [PATCH 147/177] feat(linstor-kv-tool): If no controller uri option is provided fetch it (#48) Signed-off-by: BenjiReis @@ -10,7 +10,7 @@ Signed-off-by: BenjiReis 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/scripts/linstor-kv-tool b/scripts/linstor-kv-tool -index c907027..b845ec2 100755 +index c9070270..b845ec2b 100755 --- a/scripts/linstor-kv-tool +++ b/scripts/linstor-kv-tool @@ -13,6 +13,10 @@ @@ -51,6 +51,3 @@ index c907027..b845ec2 100755 if __name__ == '__main__': --- -2.46.0 - diff --git a/SOURCES/0149-fix-linstorvolumemanager-robustify-SR-destroy-46.patch b/SOURCES/0148-fix-linstorvolumemanager-robustify-SR-destroy-46.patch similarity index 97% rename from SOURCES/0149-fix-linstorvolumemanager-robustify-SR-destroy-46.patch rename to SOURCES/0148-fix-linstorvolumemanager-robustify-SR-destroy-46.patch index 5881c5d0..933abf52 100644 --- a/SOURCES/0149-fix-linstorvolumemanager-robustify-SR-destroy-46.patch +++ b/SOURCES/0148-fix-linstorvolumemanager-robustify-SR-destroy-46.patch @@ -1,7 +1,7 @@ -From 0ae964a043bf01824b38c23aef7c2360519fe38f Mon Sep 17 00:00:00 2001 +From 95c1d9cfbc8039f991c119a279360646329eec7c Mon Sep 17 00:00:00 2001 From: BenjiReis Date: Wed, 29 Nov 2023 15:45:32 +0100 -Subject: [PATCH 149/178] fix(linstorvolumemanager): robustify SR destroy (#46) +Subject: [PATCH 148/177] fix(linstorvolumemanager): robustify SR destroy (#46) Signed-off-by: Ronan Abhamon Co-authored-by: BenjiReis @@ -10,7 +10,7 @@ Co-authored-by: BenjiReis 1 file changed, 86 insertions(+), 32 deletions(-) diff --git a/drivers/linstorvolumemanager.py b/drivers/linstorvolumemanager.py -index 47ca4e8..d27c84e 100755 +index 47ca4e87..d27c84e6 100755 --- a/drivers/linstorvolumemanager.py +++ b/drivers/linstorvolumemanager.py @@ -1372,35 +1372,63 @@ class LinstorVolumeManager(object): @@ -205,6 +205,3 @@ index 47ca4e8..d27c84e 100755 @staticmethod def _get_filtered_properties(properties): return dict(properties.items()) --- -2.46.0 - diff --git a/SOURCES/0150-feat-linstor-manager-extend-API-with-createNodeInter.patch b/SOURCES/0149-feat-linstor-manager-extend-API-with-createNodeInter.patch similarity index 94% rename from SOURCES/0150-feat-linstor-manager-extend-API-with-createNodeInter.patch rename to SOURCES/0149-feat-linstor-manager-extend-API-with-createNodeInter.patch index e60aaed3..2bd4fe18 100644 --- a/SOURCES/0150-feat-linstor-manager-extend-API-with-createNodeInter.patch +++ b/SOURCES/0149-feat-linstor-manager-extend-API-with-createNodeInter.patch @@ -1,7 +1,7 @@ -From da9afe424c2ad652e7278af658c7b4b4c7d5d0e7 Mon Sep 17 00:00:00 2001 +From bad6a7692cc1b7a5cf31a38b9433fa7e7cb7584b Mon Sep 17 00:00:00 2001 From: BenjiReis Date: Wed, 29 Nov 2023 16:54:30 +0100 -Subject: [PATCH 150/178] feat(linstor-manager): extend API with +Subject: [PATCH 149/177] feat(linstor-manager): extend API with createNodeInterface and setNodePreferredInterface (#47) Signed-off-by: BenjiReis @@ -11,7 +11,7 @@ Signed-off-by: BenjiReis 2 files changed, 65 insertions(+), 1 deletion(-) diff --git a/drivers/linstor-manager b/drivers/linstor-manager -index 7726c1b..2469b50 100755 +index 7726c1b7..2469b506 100755 --- a/drivers/linstor-manager +++ b/drivers/linstor-manager @@ -977,6 +977,51 @@ def health_check(session, args): @@ -77,7 +77,7 @@ index 7726c1b..2469b50 100755 + 'setNodePreferredInterface': set_node_preferred_interface }) diff --git a/drivers/linstorvolumemanager.py b/drivers/linstorvolumemanager.py -index d27c84e..fef34d3 100755 +index d27c84e6..fef34d3b 100755 --- a/drivers/linstorvolumemanager.py +++ b/drivers/linstorvolumemanager.py @@ -1529,6 +1529,22 @@ class LinstorVolumeManager(object): @@ -103,6 +103,3 @@ index d27c84e..fef34d3 100755 def get_nodes_info(self): """ Get all nodes + statuses, used or not by the pool. --- -2.46.0 - diff --git a/SOURCES/0151-fix-LinstorSR-support-VDI.resize-on-thick-volumes.patch b/SOURCES/0150-fix-LinstorSR-support-VDI.resize-on-thick-volumes.patch similarity index 84% rename from SOURCES/0151-fix-LinstorSR-support-VDI.resize-on-thick-volumes.patch rename to SOURCES/0150-fix-LinstorSR-support-VDI.resize-on-thick-volumes.patch index 44ab7fcf..7b74b94a 100644 --- a/SOURCES/0151-fix-LinstorSR-support-VDI.resize-on-thick-volumes.patch +++ b/SOURCES/0150-fix-LinstorSR-support-VDI.resize-on-thick-volumes.patch @@ -1,14 +1,14 @@ -From 13f341c188dae35cc64dbcaf6197c47e23dd4bd2 Mon Sep 17 00:00:00 2001 +From 9df4f271e70c1a6d7a9a5f4ccc8656874601b5ec Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Fri, 1 Dec 2023 11:55:12 +0100 -Subject: [PATCH 151/178] fix(LinstorSR): support VDI.resize on thick volumes +Subject: [PATCH 150/177] fix(LinstorSR): support VDI.resize on thick volumes --- drivers/LinstorSR.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/LinstorSR.py b/drivers/LinstorSR.py -index 1d1b51a..a524338 100755 +index 1d1b51a8..a5243381 100755 --- a/drivers/LinstorSR.py +++ b/drivers/LinstorSR.py @@ -1939,11 +1939,14 @@ class LinstorVDI(VDI.VDI): @@ -26,6 +26,3 @@ index 1d1b51a..a524338 100755 assert new_volume_size >= old_volume_size space_needed = new_volume_size - old_volume_size --- -2.46.0 - diff --git a/SOURCES/0152-fix-linstorvolumemanager-format-correctly-exception-.patch b/SOURCES/0151-fix-linstorvolumemanager-format-correctly-exception-.patch similarity index 85% rename from SOURCES/0152-fix-linstorvolumemanager-format-correctly-exception-.patch rename to SOURCES/0151-fix-linstorvolumemanager-format-correctly-exception-.patch index 082c66bb..3cbbc3be 100644 --- a/SOURCES/0152-fix-linstorvolumemanager-format-correctly-exception-.patch +++ b/SOURCES/0151-fix-linstorvolumemanager-format-correctly-exception-.patch @@ -1,7 +1,7 @@ -From fc7ee546007b745d8bf5fd96bb039b782e57908b Mon Sep 17 00:00:00 2001 +From f3f1bb0ef2ae891efd569751a9e40377b73d12f0 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Mon, 4 Dec 2023 16:36:55 +0100 -Subject: [PATCH 152/178] fix(linstorvolumemanager): format correctly exception +Subject: [PATCH 151/177] fix(linstorvolumemanager): format correctly exception during db mount Signed-off-by: Ronan Abhamon @@ -10,7 +10,7 @@ Signed-off-by: Ronan Abhamon 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/linstorvolumemanager.py b/drivers/linstorvolumemanager.py -index fef34d3..a41314e 100755 +index fef34d3b..a41314e5 100755 --- a/drivers/linstorvolumemanager.py +++ b/drivers/linstorvolumemanager.py @@ -2764,9 +2764,9 @@ class LinstorVolumeManager(object): @@ -25,6 +25,3 @@ index fef34d3..a41314e 100755 .format(backup_path, e) ) except Exception as e: --- -2.46.0 - diff --git a/SOURCES/0153-fix-LinstorSR-ensure-we-can-skip-coalesces-if-device.patch b/SOURCES/0152-fix-LinstorSR-ensure-we-can-skip-coalesces-if-device.patch similarity index 83% rename from SOURCES/0153-fix-LinstorSR-ensure-we-can-skip-coalesces-if-device.patch rename to SOURCES/0152-fix-LinstorSR-ensure-we-can-skip-coalesces-if-device.patch index afd13740..bc64663f 100644 --- a/SOURCES/0153-fix-LinstorSR-ensure-we-can-skip-coalesces-if-device.patch +++ b/SOURCES/0152-fix-LinstorSR-ensure-we-can-skip-coalesces-if-device.patch @@ -1,7 +1,7 @@ -From 3199098e8780e80ed57ee610c0f82f07d10be6c5 Mon Sep 17 00:00:00 2001 +From 04a5d882964b353ed2cdf2c75600e09bd2ca58d4 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Mon, 4 Dec 2023 18:57:08 +0100 -Subject: [PATCH 153/178] fix(LinstorSR): ensure we can skip coalesces if +Subject: [PATCH 152/177] fix(LinstorSR): ensure we can skip coalesces if device path can't be fetched Signed-off-by: Ronan Abhamon @@ -10,7 +10,7 @@ Signed-off-by: Ronan Abhamon 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/drivers/cleanup.py b/drivers/cleanup.py -index 8635f48..8c16f68 100755 +index 8635f488..8c16f689 100755 --- a/drivers/cleanup.py +++ b/drivers/cleanup.py @@ -1548,7 +1548,12 @@ class LinstorVDI(VDI): @@ -27,6 +27,3 @@ index 8635f48..8c16f68 100755 vdi = vdi.parent def _setHidden(self, hidden=True): --- -2.46.0 - diff --git a/SOURCES/0154-feat-linstor-manager-add-methods-to-modify-destroy-l.patch b/SOURCES/0153-feat-linstor-manager-add-methods-to-modify-destroy-l.patch similarity index 97% rename from SOURCES/0154-feat-linstor-manager-add-methods-to-modify-destroy-l.patch rename to SOURCES/0153-feat-linstor-manager-add-methods-to-modify-destroy-l.patch index d5288f56..5caf36c6 100644 --- a/SOURCES/0154-feat-linstor-manager-add-methods-to-modify-destroy-l.patch +++ b/SOURCES/0153-feat-linstor-manager-add-methods-to-modify-destroy-l.patch @@ -1,7 +1,7 @@ -From fd6a07a09507abbfd51564bea77415cef56472e8 Mon Sep 17 00:00:00 2001 +From 884319cced122df6234c2bce78591b749c2fea64 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Tue, 19 Dec 2023 14:49:33 +0100 -Subject: [PATCH 154/178] feat(linstor-manager): add methods to +Subject: [PATCH 153/177] feat(linstor-manager): add methods to modify/destroy/list net interfaces Signed-off-by: Ronan Abhamon @@ -11,7 +11,7 @@ Signed-off-by: Ronan Abhamon 2 files changed, 152 insertions(+), 22 deletions(-) diff --git a/drivers/linstor-manager b/drivers/linstor-manager -index 2469b50..6b45875 100755 +index 2469b506..6b45875d 100755 --- a/drivers/linstor-manager +++ b/drivers/linstor-manager @@ -265,6 +265,19 @@ def force_destroy_drbd_volume(minor): @@ -125,7 +125,7 @@ index 2469b50..6b45875 100755 'setNodePreferredInterface': set_node_preferred_interface }) diff --git a/drivers/linstorvolumemanager.py b/drivers/linstorvolumemanager.py -index a41314e..32d1533 100755 +index a41314e5..32d15334 100755 --- a/drivers/linstorvolumemanager.py +++ b/drivers/linstorvolumemanager.py @@ -872,7 +872,6 @@ class LinstorVolumeManager(object): @@ -250,6 +250,3 @@ index a41314e..32d1533 100755 def get_nodes_info(self): """ --- -2.46.0 - diff --git a/SOURCES/0155-fix-LinstorSR-force-a-defined-volume-prefix-if-we-ca.patch b/SOURCES/0154-fix-LinstorSR-force-a-defined-volume-prefix-if-we-ca.patch similarity index 75% rename from SOURCES/0155-fix-LinstorSR-force-a-defined-volume-prefix-if-we-ca.patch rename to SOURCES/0154-fix-LinstorSR-force-a-defined-volume-prefix-if-we-ca.patch index 2b7589da..8f26e690 100644 --- a/SOURCES/0155-fix-LinstorSR-force-a-defined-volume-prefix-if-we-ca.patch +++ b/SOURCES/0154-fix-LinstorSR-force-a-defined-volume-prefix-if-we-ca.patch @@ -1,7 +1,7 @@ -From ab68cd45f930d47f051911a7bdb7ca8aad7d09fb Mon Sep 17 00:00:00 2001 +From df453398c63af0bd1d69037b7de27a225e57c6d3 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Fri, 12 Jan 2024 10:28:20 +0100 -Subject: [PATCH 155/178] fix(LinstorSR): force a defined volume prefix if we +Subject: [PATCH 154/177] fix(LinstorSR): force a defined volume prefix if we can't import libs Signed-off-by: Ronan Abhamon @@ -10,7 +10,7 @@ Signed-off-by: Ronan Abhamon 1 file changed, 2 insertions(+) diff --git a/drivers/LinstorSR.py b/drivers/LinstorSR.py -index a524338..a73ae5a 100755 +index a5243381..a73ae5a2 100755 --- a/drivers/LinstorSR.py +++ b/drivers/LinstorSR.py @@ -27,6 +27,8 @@ try: @@ -22,6 +22,3 @@ index a524338..a73ae5a 100755 LINSTOR_AVAILABLE = False from lock import Lock --- -2.46.0 - diff --git a/SOURCES/0156-fix-LinstorSR-explicit-error-message-when-a-group-is.patch b/SOURCES/0155-fix-LinstorSR-explicit-error-message-when-a-group-is.patch similarity index 83% rename from SOURCES/0156-fix-LinstorSR-explicit-error-message-when-a-group-is.patch rename to SOURCES/0155-fix-LinstorSR-explicit-error-message-when-a-group-is.patch index eeb64e04..ecb786df 100644 --- a/SOURCES/0156-fix-LinstorSR-explicit-error-message-when-a-group-is.patch +++ b/SOURCES/0155-fix-LinstorSR-explicit-error-message-when-a-group-is.patch @@ -1,7 +1,7 @@ -From b83d372cdf4f424289f542ecfe71744c2d186859 Mon Sep 17 00:00:00 2001 +From 8f0db6d15c8e68f4ebe6aeedb1f9cc99f2957a63 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Thu, 18 Jan 2024 10:24:01 +0100 -Subject: [PATCH 156/178] fix(LinstorSR): explicit error message when a group +Subject: [PATCH 155/177] fix(LinstorSR): explicit error message when a group is not unique during SR creation Signed-off-by: Ronan Abhamon @@ -10,7 +10,7 @@ Signed-off-by: Ronan Abhamon 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/LinstorSR.py b/drivers/LinstorSR.py -index a73ae5a..fed1de2 100755 +index a73ae5a2..fed1de2b 100755 --- a/drivers/LinstorSR.py +++ b/drivers/LinstorSR.py @@ -569,7 +569,9 @@ class LinstorSR(SR.SR): @@ -24,6 +24,3 @@ index a73ae5a..fed1de2 100755 ) if srs: --- -2.46.0 - diff --git a/SOURCES/0157-fix-LinstorSR-make-sure-VDI.delete-doesn-t-throw-und.patch b/SOURCES/0156-fix-LinstorSR-make-sure-VDI.delete-doesn-t-throw-und.patch similarity index 92% rename from SOURCES/0157-fix-LinstorSR-make-sure-VDI.delete-doesn-t-throw-und.patch rename to SOURCES/0156-fix-LinstorSR-make-sure-VDI.delete-doesn-t-throw-und.patch index 93c9fa9d..ea2b0199 100644 --- a/SOURCES/0157-fix-LinstorSR-make-sure-VDI.delete-doesn-t-throw-und.patch +++ b/SOURCES/0156-fix-LinstorSR-make-sure-VDI.delete-doesn-t-throw-und.patch @@ -1,7 +1,7 @@ -From ce96408a3dda9b8d321e2f12723d28043a251237 Mon Sep 17 00:00:00 2001 +From 816a44c12aebf9e82ceafa30adf1f0bb4dd1fc23 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Thu, 18 Jan 2024 11:18:11 +0100 -Subject: [PATCH 157/178] fix(LinstorSR): make sure VDI.delete doesn't throw +Subject: [PATCH 156/177] fix(LinstorSR): make sure VDI.delete doesn't throw under specific conditions If we can update the volume state in the KV-store, there is no reason to raise @@ -15,7 +15,7 @@ Signed-off-by: Ronan Abhamon 2 files changed, 18 insertions(+), 4 deletions(-) diff --git a/drivers/LinstorSR.py b/drivers/LinstorSR.py -index fed1de2..1e09e9b 100755 +index fed1de2b..1e09e9bb 100755 --- a/drivers/LinstorSR.py +++ b/drivers/LinstorSR.py @@ -1760,7 +1760,14 @@ class LinstorVDI(VDI.VDI): @@ -35,7 +35,7 @@ index fed1de2..1e09e9b 100755 if self.uuid in self.sr.vdis: del self.sr.vdis[self.uuid] diff --git a/drivers/linstorvolumemanager.py b/drivers/linstorvolumemanager.py -index 32d1533..97e5372 100755 +index 32d15334..97e53725 100755 --- a/drivers/linstorvolumemanager.py +++ b/drivers/linstorvolumemanager.py @@ -272,7 +272,8 @@ def demote_drbd_resource(node_name, resource_name): @@ -65,6 +65,3 @@ index 32d1533..97e5372 100755 def lock_volume(self, volume_uuid, locked=True): """ --- -2.46.0 - diff --git a/SOURCES/0158-fix-LinstorSR-add-drbd-in-the-blacklist-of-multipath.patch b/SOURCES/0157-fix-LinstorSR-add-drbd-in-the-blacklist-of-multipath.patch similarity index 85% rename from SOURCES/0158-fix-LinstorSR-add-drbd-in-the-blacklist-of-multipath.patch rename to SOURCES/0157-fix-LinstorSR-add-drbd-in-the-blacklist-of-multipath.patch index e6f978d8..c9a509ba 100644 --- a/SOURCES/0158-fix-LinstorSR-add-drbd-in-the-blacklist-of-multipath.patch +++ b/SOURCES/0157-fix-LinstorSR-add-drbd-in-the-blacklist-of-multipath.patch @@ -1,7 +1,7 @@ -From 30a3692573e79f371c2cf2b79c19b7cc02bc693f Mon Sep 17 00:00:00 2001 +From 0f85165e4791964312059f6e07ba6053b853344e Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Fri, 19 Jan 2024 14:39:17 +0100 -Subject: [PATCH 158/178] fix(LinstorSR): add drbd in the blacklist of +Subject: [PATCH 157/177] fix(LinstorSR): add drbd in the blacklist of multipath.conf If DRBD is installed for the first time, and if the multipathd @@ -18,7 +18,7 @@ Signed-off-by: Ronan Abhamon 1 file changed, 1 insertion(+) diff --git a/multipath/multipath.conf b/multipath/multipath.conf -index c854b57..309bf2a 100644 +index c854b577..309bf2a8 100644 --- a/multipath/multipath.conf +++ b/multipath/multipath.conf @@ -23,6 +23,7 @@ blacklist { @@ -29,6 +29,3 @@ index c854b57..309bf2a 100644 } # Leave this section in place even if empty blacklist_exceptions { --- -2.46.0 - diff --git a/SOURCES/0159-fix-linstorvolumemanager-create-cloned-volumes-on-ho.patch b/SOURCES/0158-fix-linstorvolumemanager-create-cloned-volumes-on-ho.patch similarity index 96% rename from SOURCES/0159-fix-linstorvolumemanager-create-cloned-volumes-on-ho.patch rename to SOURCES/0158-fix-linstorvolumemanager-create-cloned-volumes-on-ho.patch index 16175a9c..dc3cb5b6 100644 --- a/SOURCES/0159-fix-linstorvolumemanager-create-cloned-volumes-on-ho.patch +++ b/SOURCES/0158-fix-linstorvolumemanager-create-cloned-volumes-on-ho.patch @@ -1,7 +1,7 @@ -From 4edb24b82089ace930eb68beb69a6ab57714b04e Mon Sep 17 00:00:00 2001 +From 027b2128330ad2ee39a0a7cb86d13a8d5c955236 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Mon, 22 Jan 2024 11:25:25 +0100 -Subject: [PATCH 159/178] fix(linstorvolumemanager): create cloned volumes on +Subject: [PATCH 158/177] fix(linstorvolumemanager): create cloned volumes on host selected by LINSTOR Signed-off-by: Ronan Abhamon @@ -10,7 +10,7 @@ Signed-off-by: Ronan Abhamon 1 file changed, 3 insertions(+), 91 deletions(-) diff --git a/drivers/linstorvolumemanager.py b/drivers/linstorvolumemanager.py -index 97e5372..5de86a1 100755 +index 97e53725..5de86a1b 100755 --- a/drivers/linstorvolumemanager.py +++ b/drivers/linstorvolumemanager.py @@ -1245,8 +1245,7 @@ class LinstorVolumeManager(object): @@ -121,6 +121,3 @@ index 97e5372..5de86a1 100755 def remove_resourceless_volumes(self): """ --- -2.46.0 - diff --git a/SOURCES/0160-fix-linstorvolumemanager-don-t-align-volumes-on-LVM-.patch b/SOURCES/0159-fix-linstorvolumemanager-don-t-align-volumes-on-LVM-.patch similarity index 83% rename from SOURCES/0160-fix-linstorvolumemanager-don-t-align-volumes-on-LVM-.patch rename to SOURCES/0159-fix-linstorvolumemanager-don-t-align-volumes-on-LVM-.patch index 8167586f..6fd5eb23 100644 --- a/SOURCES/0160-fix-linstorvolumemanager-don-t-align-volumes-on-LVM-.patch +++ b/SOURCES/0159-fix-linstorvolumemanager-don-t-align-volumes-on-LVM-.patch @@ -1,7 +1,7 @@ -From 09a32aefb00ff510ee3197dba69f1dfe1c40c81b Mon Sep 17 00:00:00 2001 +From 0509f762bb3b843977b64cc9382de5f6c78f0d25 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Fri, 26 Jan 2024 15:29:21 +0100 -Subject: [PATCH 160/178] fix(linstorvolumemanager): don't align volumes on LVM +Subject: [PATCH 159/177] fix(linstorvolumemanager): don't align volumes on LVM sector size It's the goal of the LINSTOR stack to align properly on the LVM layer. @@ -13,7 +13,7 @@ Signed-off-by: Ronan Abhamon 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/linstorvolumemanager.py b/drivers/linstorvolumemanager.py -index 5de86a1..7410fd7 100755 +index 5de86a1b..7410fd7a 100755 --- a/drivers/linstorvolumemanager.py +++ b/drivers/linstorvolumemanager.py @@ -309,8 +309,8 @@ class LinstorVolumeManager(object): @@ -27,6 +27,3 @@ index 5de86a1..7410fd7 100755 # List of volume properties. PROP_METADATA = 'metadata' --- -2.46.0 - diff --git a/SOURCES/0161-fix-linstorvolumemanager-assert-with-message-after-l.patch b/SOURCES/0160-fix-linstorvolumemanager-assert-with-message-after-l.patch similarity index 84% rename from SOURCES/0161-fix-linstorvolumemanager-assert-with-message-after-l.patch rename to SOURCES/0160-fix-linstorvolumemanager-assert-with-message-after-l.patch index 21b5065e..114d4be7 100644 --- a/SOURCES/0161-fix-linstorvolumemanager-assert-with-message-after-l.patch +++ b/SOURCES/0160-fix-linstorvolumemanager-assert-with-message-after-l.patch @@ -1,7 +1,7 @@ -From bd36d8cc1077b88bf5257a91f270f84cf5261e64 Mon Sep 17 00:00:00 2001 +From 23ffba15eea119c447d29a528bd663cd246336a9 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Mon, 5 Feb 2024 18:01:22 +0100 -Subject: [PATCH 161/178] fix(linstorvolumemanager): assert with message after +Subject: [PATCH 160/177] fix(linstorvolumemanager): assert with message after log in update_volume_uuid Signed-off-by: Ronan Abhamon @@ -10,7 +10,7 @@ Signed-off-by: Ronan Abhamon 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/linstorvolumemanager.py b/drivers/linstorvolumemanager.py -index 7410fd7..5f2e06e 100755 +index 7410fd7a..5f2e06ee 100755 --- a/drivers/linstorvolumemanager.py +++ b/drivers/linstorvolumemanager.py @@ -972,12 +972,12 @@ class LinstorVolumeManager(object): @@ -28,6 +28,3 @@ index 7410fd7..5f2e06e 100755 if not force: self._ensure_volume_exists(volume_uuid) self.ensure_volume_is_not_locked(volume_uuid) --- -2.46.0 - diff --git a/SOURCES/0162-fix-linstorvolumemanager-retry-resize-if-volume-is-n.patch b/SOURCES/0161-fix-linstorvolumemanager-retry-resize-if-volume-is-n.patch similarity index 92% rename from SOURCES/0162-fix-linstorvolumemanager-retry-resize-if-volume-is-n.patch rename to SOURCES/0161-fix-linstorvolumemanager-retry-resize-if-volume-is-n.patch index bd602cd2..78bbcecb 100644 --- a/SOURCES/0162-fix-linstorvolumemanager-retry-resize-if-volume-is-n.patch +++ b/SOURCES/0161-fix-linstorvolumemanager-retry-resize-if-volume-is-n.patch @@ -1,7 +1,7 @@ -From af5c06ba9a7d679ce82ed7a2dc0df96301a4994b Mon Sep 17 00:00:00 2001 +From 623ea5f634d201dd0442528362f1890484d6a233 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Mon, 5 Feb 2024 23:13:06 +0100 -Subject: [PATCH 162/178] fix(linstorvolumemanager): retry resize if volume is +Subject: [PATCH 161/177] fix(linstorvolumemanager): retry resize if volume is not up to date Signed-off-by: Ronan Abhamon @@ -10,7 +10,7 @@ Signed-off-by: Ronan Abhamon 1 file changed, 21 insertions(+), 9 deletions(-) diff --git a/drivers/linstorvolumemanager.py b/drivers/linstorvolumemanager.py -index 5f2e06e..79ac84a 100755 +index 5f2e06ee..79ac84a4 100755 --- a/drivers/linstorvolumemanager.py +++ b/drivers/linstorvolumemanager.py @@ -824,18 +824,30 @@ class LinstorVolumeManager(object): @@ -53,6 +53,3 @@ index 5f2e06e..79ac84a 100755 raise LinstorVolumeManagerError( 'Could not resize volume `{}` from SR `{}`: {}' .format(volume_uuid, self._group_name, error_str) --- -2.46.0 - diff --git a/SOURCES/0163-fix-LinstorSR-create-DRBD-diskless-if-necessary-for-.patch b/SOURCES/0162-fix-LinstorSR-create-DRBD-diskless-if-necessary-for-.patch similarity index 95% rename from SOURCES/0163-fix-LinstorSR-create-DRBD-diskless-if-necessary-for-.patch rename to SOURCES/0162-fix-LinstorSR-create-DRBD-diskless-if-necessary-for-.patch index 527fd5c3..50b10a43 100644 --- a/SOURCES/0163-fix-LinstorSR-create-DRBD-diskless-if-necessary-for-.patch +++ b/SOURCES/0162-fix-LinstorSR-create-DRBD-diskless-if-necessary-for-.patch @@ -1,7 +1,7 @@ -From a3859a63b34c6e888c07ea4e5ec070ad94fd0aa8 Mon Sep 17 00:00:00 2001 +From 3d4b6975df6490a1f2c27a6f3067790c7d664203 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Tue, 6 Feb 2024 00:10:32 +0100 -Subject: [PATCH 163/178] fix(LinstorSR): create DRBD diskless if necessary for +Subject: [PATCH 162/177] fix(LinstorSR): create DRBD diskless if necessary for each VHD parent It's necessary to have all parents during snapshot to create a new VHD child. @@ -12,7 +12,7 @@ Signed-off-by: Ronan Abhamon 1 file changed, 33 insertions(+), 27 deletions(-) diff --git a/drivers/LinstorSR.py b/drivers/LinstorSR.py -index 1e09e9b..53afbef 100755 +index 1e09e9bb..53afbefe 100755 --- a/drivers/LinstorSR.py +++ b/drivers/LinstorSR.py @@ -1827,32 +1827,7 @@ class LinstorVDI(VDI.VDI): @@ -96,6 +96,3 @@ index 1e09e9b..53afbef 100755 # ------------------------------------------------------------------------------ --- -2.46.0 - diff --git a/SOURCES/0164-fix-LinstorSR-fix-bad-call-to-vhdutil.inflate-bad-ex.patch b/SOURCES/0163-fix-LinstorSR-fix-bad-call-to-vhdutil.inflate-bad-ex.patch similarity index 87% rename from SOURCES/0164-fix-LinstorSR-fix-bad-call-to-vhdutil.inflate-bad-ex.patch rename to SOURCES/0163-fix-LinstorSR-fix-bad-call-to-vhdutil.inflate-bad-ex.patch index 8b345540..6186b5da 100644 --- a/SOURCES/0164-fix-LinstorSR-fix-bad-call-to-vhdutil.inflate-bad-ex.patch +++ b/SOURCES/0163-fix-LinstorSR-fix-bad-call-to-vhdutil.inflate-bad-ex.patch @@ -1,7 +1,7 @@ -From e21d3bc7b517bb790517e494f9e2eed18e9f3290 Mon Sep 17 00:00:00 2001 +From 10eff05da9679127bf9b3e89367c0fb7cb2d7807 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Tue, 6 Feb 2024 00:14:11 +0100 -Subject: [PATCH 164/178] fix(LinstorSR): fix bad call to vhdutil.inflate + bad +Subject: [PATCH 163/177] fix(LinstorSR): fix bad call to vhdutil.inflate + bad exception Signed-off-by: Ronan Abhamon @@ -10,7 +10,7 @@ Signed-off-by: Ronan Abhamon 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/LinstorSR.py b/drivers/LinstorSR.py -index 53afbef..de10f42 100755 +index 53afbefe..de10f423 100755 --- a/drivers/LinstorSR.py +++ b/drivers/LinstorSR.py @@ -1944,7 +1944,7 @@ class LinstorVDI(VDI.VDI): @@ -31,6 +31,3 @@ index 53afbef..de10f42 100755 util.logException('Failed to snapshot!') try: self.sr._handle_interrupted_clone( --- -2.46.0 - diff --git a/SOURCES/0165-fix-LinstorSR-activate-VG-if-attach-from-config-is-a.patch b/SOURCES/0164-fix-LinstorSR-activate-VG-if-attach-from-config-is-a.patch similarity index 80% rename from SOURCES/0165-fix-LinstorSR-activate-VG-if-attach-from-config-is-a.patch rename to SOURCES/0164-fix-LinstorSR-activate-VG-if-attach-from-config-is-a.patch index 4f561983..a793b8cd 100644 --- a/SOURCES/0165-fix-LinstorSR-activate-VG-if-attach-from-config-is-a.patch +++ b/SOURCES/0164-fix-LinstorSR-activate-VG-if-attach-from-config-is-a.patch @@ -1,7 +1,7 @@ -From adea9c192b43f438da3732188ed0ad05751179e6 Mon Sep 17 00:00:00 2001 +From 282a88be2444f756783b5c726fa3a2b06be43854 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Mon, 12 Feb 2024 20:54:06 +0100 -Subject: [PATCH 165/178] fix(LinstorSR): activate VG if attach from config is +Subject: [PATCH 164/177] fix(LinstorSR): activate VG if attach from config is asked Signed-off-by: Ronan Abhamon @@ -10,7 +10,7 @@ Signed-off-by: Ronan Abhamon 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/LinstorSR.py b/drivers/LinstorSR.py -index de10f42..b6b1529 100755 +index de10f423..b6b15298 100755 --- a/drivers/LinstorSR.py +++ b/drivers/LinstorSR.py @@ -382,7 +382,7 @@ class LinstorSR(SR.SR): @@ -22,6 +22,3 @@ index de10f42..b6b1529 100755 activate_lvm_group(self._group_name) if not self._has_session: --- -2.46.0 - diff --git a/SOURCES/0166-feat-LinstorSR-use-a-specific-resource-group-for-DB-.patch b/SOURCES/0165-feat-LinstorSR-use-a-specific-resource-group-for-DB-.patch similarity index 99% rename from SOURCES/0166-feat-LinstorSR-use-a-specific-resource-group-for-DB-.patch rename to SOURCES/0165-feat-LinstorSR-use-a-specific-resource-group-for-DB-.patch index 54748071..d329828d 100644 --- a/SOURCES/0166-feat-LinstorSR-use-a-specific-resource-group-for-DB-.patch +++ b/SOURCES/0165-feat-LinstorSR-use-a-specific-resource-group-for-DB-.patch @@ -1,7 +1,7 @@ -From 3227a0c30b0a58e4431cb80ab1b188b89a004a41 Mon Sep 17 00:00:00 2001 +From f8c3b5fd1741e3e3fac2c38d9faa807cd6f90ae7 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Tue, 19 Mar 2024 23:09:54 +0100 -Subject: [PATCH 166/178] feat(LinstorSR): use a specific resource group for DB +Subject: [PATCH 165/177] feat(LinstorSR): use a specific resource group for DB and HA Signed-off-by: Ronan Abhamon @@ -11,7 +11,7 @@ Signed-off-by: Ronan Abhamon 2 files changed, 182 insertions(+), 78 deletions(-) diff --git a/drivers/LinstorSR.py b/drivers/LinstorSR.py -index b6b1529..3421f79 100755 +index b6b15298..3421f79f 100755 --- a/drivers/LinstorSR.py +++ b/drivers/LinstorSR.py @@ -1662,8 +1662,11 @@ class LinstorVDI(VDI.VDI): @@ -29,7 +29,7 @@ index b6b1529..3421f79 100755 volume_info = self._linstor.get_volume_info(self.uuid) diff --git a/drivers/linstorvolumemanager.py b/drivers/linstorvolumemanager.py -index 79ac84a..4118a28 100755 +index 79ac84a4..4118a28f 100755 --- a/drivers/linstorvolumemanager.py +++ b/drivers/linstorvolumemanager.py @@ -273,7 +273,8 @@ class LinstorVolumeManagerError(Exception): @@ -516,6 +516,3 @@ index 79ac84a..4118a28 100755 if errors: raise LinstorVolumeManagerError( 'Failed to create volume `{}` from SR `{}`: {}'.format( --- -2.46.0 - diff --git a/SOURCES/0167-feat-linstor-manager-add-getNodePreferredInterface-h.patch b/SOURCES/0166-feat-linstor-manager-add-getNodePreferredInterface-h.patch similarity index 92% rename from SOURCES/0167-feat-linstor-manager-add-getNodePreferredInterface-h.patch rename to SOURCES/0166-feat-linstor-manager-add-getNodePreferredInterface-h.patch index 26020c58..eca590d3 100644 --- a/SOURCES/0167-feat-linstor-manager-add-getNodePreferredInterface-h.patch +++ b/SOURCES/0166-feat-linstor-manager-add-getNodePreferredInterface-h.patch @@ -1,7 +1,7 @@ -From 99997af6173a0bd6ed59a0242657f162245aef91 Mon Sep 17 00:00:00 2001 +From d52c941f3085a80ecc975c12ab99958f309a3b40 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Mon, 15 Apr 2024 11:22:18 +0200 -Subject: [PATCH 167/178] feat(linstor-manager): add +Subject: [PATCH 166/177] feat(linstor-manager): add `getNodePreferredInterface` helper Signed-off-by: Ronan Abhamon @@ -11,7 +11,7 @@ Signed-off-by: Ronan Abhamon 2 files changed, 33 insertions(+) diff --git a/drivers/linstor-manager b/drivers/linstor-manager -index 6b45875..a2501d7 100755 +index 6b45875d..a2501d74 100755 --- a/drivers/linstor-manager +++ b/drivers/linstor-manager @@ -1062,6 +1062,21 @@ def list_node_interfaces(session, args): @@ -44,7 +44,7 @@ index 6b45875..a2501d7 100755 'setNodePreferredInterface': set_node_preferred_interface }) diff --git a/drivers/linstorvolumemanager.py b/drivers/linstorvolumemanager.py -index 4118a28..46c3283 100755 +index 4118a28f..46c3283d 100755 --- a/drivers/linstorvolumemanager.py +++ b/drivers/linstorvolumemanager.py @@ -1544,6 +1544,23 @@ class LinstorVolumeManager(object): @@ -71,6 +71,3 @@ index 4118a28..46c3283 100755 def set_node_preferred_interface(self, node_name, name): """ Set the preferred interface to use on a node. --- -2.46.0 - diff --git a/SOURCES/0168-fix-linstorvolumemanager-blocks-deletion-of-default-.patch b/SOURCES/0167-fix-linstorvolumemanager-blocks-deletion-of-default-.patch similarity index 84% rename from SOURCES/0168-fix-linstorvolumemanager-blocks-deletion-of-default-.patch rename to SOURCES/0167-fix-linstorvolumemanager-blocks-deletion-of-default-.patch index 9c0e4051..de8564d2 100644 --- a/SOURCES/0168-fix-linstorvolumemanager-blocks-deletion-of-default-.patch +++ b/SOURCES/0167-fix-linstorvolumemanager-blocks-deletion-of-default-.patch @@ -1,7 +1,7 @@ -From 5491fbc0f245095e62f83b78e3afcd76745cbe5e Mon Sep 17 00:00:00 2001 +From 994cc9256d94f8df081cab9550cd629098ab9958 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Mon, 15 Apr 2024 11:26:00 +0200 -Subject: [PATCH 168/178] fix(linstorvolumemanager): blocks deletion of default +Subject: [PATCH 167/177] fix(linstorvolumemanager): blocks deletion of default network interface Signed-off-by: Ronan Abhamon @@ -10,7 +10,7 @@ Signed-off-by: Ronan Abhamon 1 file changed, 6 insertions(+) diff --git a/drivers/linstorvolumemanager.py b/drivers/linstorvolumemanager.py -index 46c3283..02059d8 100755 +index 46c3283d..02059d81 100755 --- a/drivers/linstorvolumemanager.py +++ b/drivers/linstorvolumemanager.py @@ -1491,6 +1491,12 @@ class LinstorVolumeManager(object): @@ -26,6 +26,3 @@ index 46c3283..02059d8 100755 result = self._linstor.netinterface_delete(node_name, name) errors = self._filter_errors(result) if errors: --- -2.46.0 - diff --git a/SOURCES/0169-feat-linstorvolumemanager-change-logic-of-get_resour.patch b/SOURCES/0168-feat-linstorvolumemanager-change-logic-of-get_resour.patch similarity index 95% rename from SOURCES/0169-feat-linstorvolumemanager-change-logic-of-get_resour.patch rename to SOURCES/0168-feat-linstorvolumemanager-change-logic-of-get_resour.patch index c9f83f6e..7796e344 100644 --- a/SOURCES/0169-feat-linstorvolumemanager-change-logic-of-get_resour.patch +++ b/SOURCES/0168-feat-linstorvolumemanager-change-logic-of-get_resour.patch @@ -1,7 +1,7 @@ -From 21788b7143fd9add8681f1a909c4eca1b18d2919 Mon Sep 17 00:00:00 2001 +From 9f2a43da03648d33795a22c6aea556cf177c416c Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Mon, 15 Apr 2024 17:56:47 +0200 -Subject: [PATCH 169/178] feat(linstorvolumemanager): change logic of +Subject: [PATCH 168/177] feat(linstorvolumemanager): change logic of `get_resources_info`: - Add a nested level "nodes" for each resource - Add a "uuid" attr on resources - Rename LINSTOR "uuid" to "linstor-uuid" - Optimize code @@ -13,7 +13,7 @@ Signed-off-by: Ronan Abhamon 2 files changed, 22 insertions(+), 13 deletions(-) diff --git a/drivers/linstor-manager b/drivers/linstor-manager -index a2501d7..ed85525 100755 +index a2501d74..ed855257 100755 --- a/drivers/linstor-manager +++ b/drivers/linstor-manager @@ -884,6 +884,7 @@ def health_check(session, args): @@ -25,7 +25,7 @@ index a2501d7..ed85525 100755 'errors': [] } diff --git a/drivers/linstorvolumemanager.py b/drivers/linstorvolumemanager.py -index 02059d8..25c226a 100755 +index 02059d81..25c226ac 100755 --- a/drivers/linstorvolumemanager.py +++ b/drivers/linstorvolumemanager.py @@ -1624,7 +1624,7 @@ class LinstorVolumeManager(object): @@ -99,6 +99,3 @@ index 02059d8..25c226a 100755 return resources def get_database_path(self): --- -2.46.0 - diff --git a/SOURCES/0170-feat-linstor-manager-add-error-codes-to-healthCheck-.patch b/SOURCES/0169-feat-linstor-manager-add-error-codes-to-healthCheck-.patch similarity index 98% rename from SOURCES/0170-feat-linstor-manager-add-error-codes-to-healthCheck-.patch rename to SOURCES/0169-feat-linstor-manager-add-error-codes-to-healthCheck-.patch index 06601a9e..12bf17c0 100644 --- a/SOURCES/0170-feat-linstor-manager-add-error-codes-to-healthCheck-.patch +++ b/SOURCES/0169-feat-linstor-manager-add-error-codes-to-healthCheck-.patch @@ -1,7 +1,7 @@ -From d325b4d57656cb4e57225898dbe09c19d3a05737 Mon Sep 17 00:00:00 2001 +From 6ccf2540a34a1853d221f2c36225d333c022e0a6 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Thu, 18 Apr 2024 13:57:37 +0200 -Subject: [PATCH 170/178] feat(linstor-manager): add error codes to healthCheck +Subject: [PATCH 169/177] feat(linstor-manager): add error codes to healthCheck helper Signed-off-by: Ronan Abhamon @@ -11,7 +11,7 @@ Signed-off-by: Ronan Abhamon 2 files changed, 120 insertions(+), 35 deletions(-) diff --git a/drivers/linstor-manager b/drivers/linstor-manager -index ed85525..94aa4fb 100755 +index ed855257..94aa4fb9 100755 --- a/drivers/linstor-manager +++ b/drivers/linstor-manager @@ -27,6 +27,7 @@ import socket @@ -234,7 +234,7 @@ index ed85525..94aa4fb 100755 return format_result() diff --git a/drivers/linstorvolumemanager.py b/drivers/linstorvolumemanager.py -index 25c226a..94d5c51 100755 +index 25c226ac..94d5c514 100755 --- a/drivers/linstorvolumemanager.py +++ b/drivers/linstorvolumemanager.py @@ -1623,7 +1623,7 @@ class LinstorVolumeManager(object): @@ -246,6 +246,3 @@ index 25c226a..94d5c51 100755 'linstor-uuid': pool.uuid, 'free-size': size, 'capacity': capacity --- -2.46.0 - diff --git a/SOURCES/0171-fix-LinstorSR-fix-bad-exception-reference-during-sna.patch b/SOURCES/0170-fix-LinstorSR-fix-bad-exception-reference-during-sna.patch similarity index 87% rename from SOURCES/0171-fix-LinstorSR-fix-bad-exception-reference-during-sna.patch rename to SOURCES/0170-fix-LinstorSR-fix-bad-exception-reference-during-sna.patch index 46d89e73..be64c8a8 100644 --- a/SOURCES/0171-fix-LinstorSR-fix-bad-exception-reference-during-sna.patch +++ b/SOURCES/0170-fix-LinstorSR-fix-bad-exception-reference-during-sna.patch @@ -1,7 +1,7 @@ -From d690c2a413af2e41bb81f55d32b646a7c48476ec Mon Sep 17 00:00:00 2001 +From f736ea08304bfc7d02183072efef8b7fcce1b5b7 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Wed, 24 Apr 2024 15:10:49 +0200 -Subject: [PATCH 171/178] fix(LinstorSR): fix bad exception reference during +Subject: [PATCH 170/177] fix(LinstorSR): fix bad exception reference during snapshot Signed-off-by: Ronan Abhamon @@ -10,7 +10,7 @@ Signed-off-by: Ronan Abhamon 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/LinstorSR.py b/drivers/LinstorSR.py -index 3421f79..3bd31e9 100755 +index 3421f79f..3bd31e9e 100755 --- a/drivers/LinstorSR.py +++ b/drivers/LinstorSR.py @@ -2500,17 +2500,17 @@ class LinstorVDI(VDI.VDI): @@ -34,6 +34,3 @@ index 3421f79..3bd31e9 100755 ) raise xs_errors.XenError('VDIClone', opterr=str(e)) --- -2.46.0 - diff --git a/SOURCES/0172-fix-tapdisk-pause-ensure-LINSTOR-VHD-chain-is-availa.patch b/SOURCES/0171-fix-tapdisk-pause-ensure-LINSTOR-VHD-chain-is-availa.patch similarity index 96% rename from SOURCES/0172-fix-tapdisk-pause-ensure-LINSTOR-VHD-chain-is-availa.patch rename to SOURCES/0171-fix-tapdisk-pause-ensure-LINSTOR-VHD-chain-is-availa.patch index bbb9cd47..e260c3db 100644 --- a/SOURCES/0172-fix-tapdisk-pause-ensure-LINSTOR-VHD-chain-is-availa.patch +++ b/SOURCES/0171-fix-tapdisk-pause-ensure-LINSTOR-VHD-chain-is-availa.patch @@ -1,7 +1,7 @@ -From e1343b31312142eced90f45ea0ade39a07e5a447 Mon Sep 17 00:00:00 2001 +From 0873948ed66782797dc3446aa6972eb8bd629c7d Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Wed, 24 Apr 2024 17:29:26 +0200 -Subject: [PATCH 172/178] fix(tapdisk-pause): ensure LINSTOR VHD chain is +Subject: [PATCH 171/177] fix(tapdisk-pause): ensure LINSTOR VHD chain is available Signed-off-by: Ronan Abhamon @@ -12,7 +12,7 @@ Signed-off-by: Ronan Abhamon 3 files changed, 44 insertions(+), 35 deletions(-) diff --git a/drivers/LinstorSR.py b/drivers/LinstorSR.py -index 3bd31e9..c5ed7c5 100755 +index 3bd31e9e..c5ed7c58 100755 --- a/drivers/LinstorSR.py +++ b/drivers/LinstorSR.py @@ -1830,7 +1830,7 @@ class LinstorVDI(VDI.VDI): @@ -72,7 +72,7 @@ index 3bd31e9..c5ed7c5 100755 diff --git a/drivers/linstorvhdutil.py b/drivers/linstorvhdutil.py -index 23d8b6a..17b7790 100644 +index 23d8b6a0..17b7790e 100644 --- a/drivers/linstorvhdutil.py +++ b/drivers/linstorvhdutil.py @@ -21,6 +21,7 @@ import distutils.util @@ -128,7 +128,7 @@ index 23d8b6a..17b7790 100644 # Getters: read locally and try on another host in case of failure. # -------------------------------------------------------------------------- diff --git a/drivers/tapdisk-pause b/drivers/tapdisk-pause -index e0bca7b..c316cdf 100755 +index e0bca7be..c316cdfa 100755 --- a/drivers/tapdisk-pause +++ b/drivers/tapdisk-pause @@ -30,6 +30,7 @@ import vhdutil @@ -154,6 +154,3 @@ index e0bca7b..c316cdf 100755 if realpath != device_path: util.SMlog( --- -2.46.0 - diff --git a/SOURCES/0173-fix-linstorvhdutil-retry-check-on-another-machine-in.patch b/SOURCES/0172-fix-linstorvhdutil-retry-check-on-another-machine-in.patch similarity index 92% rename from SOURCES/0173-fix-linstorvhdutil-retry-check-on-another-machine-in.patch rename to SOURCES/0172-fix-linstorvhdutil-retry-check-on-another-machine-in.patch index 4f39ecc1..d70dc498 100644 --- a/SOURCES/0173-fix-linstorvhdutil-retry-check-on-another-machine-in.patch +++ b/SOURCES/0172-fix-linstorvhdutil-retry-check-on-another-machine-in.patch @@ -1,7 +1,7 @@ -From bee9bb828530924b8596135b70bb38092ef5cf8f Mon Sep 17 00:00:00 2001 +From 50d3738df998c68c2f44847c11da045737847583 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Mon, 6 May 2024 18:15:00 +0200 -Subject: [PATCH 173/178] fix(linstorvhdutil): retry check on another machine +Subject: [PATCH 172/177] fix(linstorvhdutil): retry check on another machine in case of failure (#54) Signed-off-by: Ronan Abhamon @@ -11,7 +11,7 @@ Signed-off-by: Ronan Abhamon 2 files changed, 20 insertions(+), 4 deletions(-) diff --git a/drivers/linstor-manager b/drivers/linstor-manager -index 94aa4fb..47cbd2b 100755 +index 94aa4fb9..47cbd2b7 100755 --- a/drivers/linstor-manager +++ b/drivers/linstor-manager @@ -29,7 +29,7 @@ import XenAPIPlugin @@ -34,7 +34,7 @@ index 94aa4fb..47cbd2b 100755 util.SMlog('linstor-manager:check error: {}'.format(e)) raise diff --git a/drivers/linstorvhdutil.py b/drivers/linstorvhdutil.py -index 17b7790..fd2bc8b 100644 +index 17b7790e..fd2bc8be 100644 --- a/drivers/linstorvhdutil.py +++ b/drivers/linstorvhdutil.py @@ -50,6 +50,16 @@ def call_remote_method(session, host_ref, method, device_path, args): @@ -71,6 +71,3 @@ index 17b7790..fd2bc8b 100644 def _check(self, vdi_uuid, response): return distutils.util.strtobool(response) --- -2.46.0 - diff --git a/SOURCES/0174-fix-LinstorSR-explicit-errors-when-database-path-is-.patch b/SOURCES/0173-fix-LinstorSR-explicit-errors-when-database-path-is-.patch similarity index 88% rename from SOURCES/0174-fix-LinstorSR-explicit-errors-when-database-path-is-.patch rename to SOURCES/0173-fix-LinstorSR-explicit-errors-when-database-path-is-.patch index 9b5e01dc..d03414e1 100644 --- a/SOURCES/0174-fix-LinstorSR-explicit-errors-when-database-path-is-.patch +++ b/SOURCES/0173-fix-LinstorSR-explicit-errors-when-database-path-is-.patch @@ -1,7 +1,7 @@ -From 3aba57e6ea4f6826b5164b97971099d8196c8d3e Mon Sep 17 00:00:00 2001 +From c18b76e7f81ba5e48e0755c5c171b3df11f1b8d2 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Mon, 6 May 2024 21:35:36 +0200 -Subject: [PATCH 174/178] fix(LinstorSR): explicit errors when database path is +Subject: [PATCH 173/177] fix(LinstorSR): explicit errors when database path is fetched --- @@ -10,7 +10,7 @@ Subject: [PATCH 174/178] fix(LinstorSR): explicit errors when database path is 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/LinstorSR.py b/drivers/LinstorSR.py -index c5ed7c5..9f0986c 100755 +index c5ed7c58..9f0986cd 100755 --- a/drivers/LinstorSR.py +++ b/drivers/LinstorSR.py @@ -766,7 +766,7 @@ class LinstorSR(SR.SR): @@ -32,7 +32,7 @@ index c5ed7c5..9f0986c 100755 # Update the database before the restart of the GC to avoid diff --git a/drivers/linstorvolumemanager.py b/drivers/linstorvolumemanager.py -index 94d5c51..948d45d 100755 +index 94d5c514..948d45df 100755 --- a/drivers/linstorvolumemanager.py +++ b/drivers/linstorvolumemanager.py @@ -2648,7 +2648,7 @@ class LinstorVolumeManager(object): @@ -44,6 +44,3 @@ index 94d5c51..948d45d 100755 .format(e) ) --- -2.46.0 - diff --git a/SOURCES/0175-fix-LinstorSR-Misc-fixes-on-destroy.patch b/SOURCES/0174-fix-LinstorSR-Misc-fixes-on-destroy.patch similarity index 96% rename from SOURCES/0175-fix-LinstorSR-Misc-fixes-on-destroy.patch rename to SOURCES/0174-fix-LinstorSR-Misc-fixes-on-destroy.patch index 9bbe3984..13343ab8 100644 --- a/SOURCES/0175-fix-LinstorSR-Misc-fixes-on-destroy.patch +++ b/SOURCES/0174-fix-LinstorSR-Misc-fixes-on-destroy.patch @@ -1,7 +1,7 @@ -From e65ad0c6669174d90ab356f171d5aa121da8eca1 Mon Sep 17 00:00:00 2001 +From 64e5e7f9b61eaa4abc83b3179dbdb64a9b415023 Mon Sep 17 00:00:00 2001 From: Damien Thenot Date: Tue, 30 Apr 2024 15:38:34 +0200 -Subject: [PATCH 175/178] fix(LinstorSR): Misc fixes on destroy +Subject: [PATCH 174/177] fix(LinstorSR): Misc fixes on destroy linstor-manager: - fix on get_drbd_volumes @@ -27,7 +27,7 @@ Co-authored-by: Ronan Abhamon 3 files changed, 28 insertions(+), 11 deletions(-) diff --git a/drivers/LinstorSR.py b/drivers/LinstorSR.py -index 9f0986c..8d95890 100755 +index 9f0986cd..8d958908 100755 --- a/drivers/LinstorSR.py +++ b/drivers/LinstorSR.py @@ -650,17 +650,17 @@ class LinstorSR(SR.SR): @@ -62,7 +62,7 @@ index 9f0986c..8d95890 100755 except Exception as e: try: diff --git a/drivers/linstor-manager b/drivers/linstor-manager -index 47cbd2b..f0404b8 100755 +index 47cbd2b7..f0404b80 100755 --- a/drivers/linstor-manager +++ b/drivers/linstor-manager @@ -241,7 +241,10 @@ def get_drbd_volumes(volume_group=None): @@ -78,7 +78,7 @@ index 47cbd2b..f0404b8 100755 if not match: continue diff --git a/drivers/linstorvolumemanager.py b/drivers/linstorvolumemanager.py -index 948d45d..103f91b 100755 +index 948d45df..103f91b7 100755 --- a/drivers/linstorvolumemanager.py +++ b/drivers/linstorvolumemanager.py @@ -18,7 +18,6 @@ @@ -131,6 +131,3 @@ index 948d45d..103f91b 100755 except Exception as e: util.SMlog( 'Ignoring failure after LINSTOR SR destruction: {}' --- -2.46.0 - diff --git a/SOURCES/0176-fix-LinstorSR-open-non-leaf-volumes-in-RO-mode-creat.patch b/SOURCES/0175-fix-LinstorSR-open-non-leaf-volumes-in-RO-mode-creat.patch similarity index 94% rename from SOURCES/0176-fix-LinstorSR-open-non-leaf-volumes-in-RO-mode-creat.patch rename to SOURCES/0175-fix-LinstorSR-open-non-leaf-volumes-in-RO-mode-creat.patch index 61a99441..c67a1061 100644 --- a/SOURCES/0176-fix-LinstorSR-open-non-leaf-volumes-in-RO-mode-creat.patch +++ b/SOURCES/0175-fix-LinstorSR-open-non-leaf-volumes-in-RO-mode-creat.patch @@ -1,7 +1,7 @@ -From 8901bc318ee16f7eba20dc6ad2ea735610f73c41 Mon Sep 17 00:00:00 2001 +From c01f37d6219a777574a2235f31510d24fe157f73 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Thu, 20 Jun 2024 22:37:40 +0200 -Subject: [PATCH 176/178] fix(LinstorSR): open non-leaf volumes in RO mode +Subject: [PATCH 175/177] fix(LinstorSR): open non-leaf volumes in RO mode (create_chain_paths) We must never open non-leaf volumes with the write option. @@ -15,7 +15,7 @@ Signed-off-by: Ronan Abhamon 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/drivers/LinstorSR.py b/drivers/LinstorSR.py -index 8d95890..2127057 100755 +index 8d958908..21270570 100755 --- a/drivers/LinstorSR.py +++ b/drivers/LinstorSR.py @@ -1793,10 +1793,10 @@ class LinstorVDI(VDI.VDI): @@ -51,7 +51,7 @@ index 8d95890..2127057 100755 volume_path = self.path if not util.pathexists(volume_path): diff --git a/drivers/linstorvhdutil.py b/drivers/linstorvhdutil.py -index fd2bc8b..7f8efa1 100644 +index fd2bc8be..7f8efa12 100644 --- a/drivers/linstorvhdutil.py +++ b/drivers/linstorvhdutil.py @@ -152,7 +152,7 @@ class LinstorVhdUtil: @@ -80,6 +80,3 @@ index fd2bc8b..7f8efa1 100644 return leaf_vdi_path --- -2.46.0 - diff --git a/SOURCES/0177-fix-LinstorSR-ensure-_is_master-is-always-set.patch b/SOURCES/0176-fix-LinstorSR-ensure-_is_master-is-always-set.patch similarity index 97% rename from SOURCES/0177-fix-LinstorSR-ensure-_is_master-is-always-set.patch rename to SOURCES/0176-fix-LinstorSR-ensure-_is_master-is-always-set.patch index 65e5df1f..8d7346fc 100644 --- a/SOURCES/0177-fix-LinstorSR-ensure-_is_master-is-always-set.patch +++ b/SOURCES/0176-fix-LinstorSR-ensure-_is_master-is-always-set.patch @@ -1,7 +1,7 @@ -From 8434a428d51849320db4b42e528501d283d495ac Mon Sep 17 00:00:00 2001 +From f81374f1d06113c1795071a5b70a327f0b4e1ae9 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Fri, 26 Jul 2024 11:32:20 +0200 -Subject: [PATCH 177/178] fix(LinstorSR): ensure `_is_master` is always set +Subject: [PATCH 176/177] fix(LinstorSR): ensure `_is_master` is always set `_is_master` is not always initialized, and more precisely in the case of detach where LinstorSR.load method is not called. @@ -16,7 +16,7 @@ Signed-off-by: Ronan Abhamon 1 file changed, 21 insertions(+), 15 deletions(-) diff --git a/drivers/LinstorSR.py b/drivers/LinstorSR.py -index 2127057..fdcad17 100755 +index 21270570..fdcad17e 100755 --- a/drivers/LinstorSR.py +++ b/drivers/LinstorSR.py @@ -362,9 +362,6 @@ class LinstorSR(SR.SR): @@ -153,6 +153,3 @@ index 2127057..fdcad17 100755 # If we are master, we must ensure we have a diskless # or diskful available to init HA. # It also avoid this error in xensource.log --- -2.46.0 - diff --git a/SOURCES/0178-fix-linstor-check-if-resource-is-tiebreaker-62.patch b/SOURCES/0177-fix-linstor-check-if-resource-is-tiebreaker-62.patch similarity index 86% rename from SOURCES/0178-fix-linstor-check-if-resource-is-tiebreaker-62.patch rename to SOURCES/0177-fix-linstor-check-if-resource-is-tiebreaker-62.patch index b5f83e7a..68e6386c 100644 --- a/SOURCES/0178-fix-linstor-check-if-resource-is-tiebreaker-62.patch +++ b/SOURCES/0177-fix-linstor-check-if-resource-is-tiebreaker-62.patch @@ -1,7 +1,7 @@ -From 9207abe1f2e1ff1795cdba1a0aeb76574412a583 Mon Sep 17 00:00:00 2001 +From ebeaf709ee0e0336a0749f295916c665aa8b5006 Mon Sep 17 00:00:00 2001 From: Damien Thenot Date: Fri, 26 Jul 2024 14:13:05 +0200 -Subject: [PATCH 178/178] fix(linstor): check if resource is tiebreaker (#62) +Subject: [PATCH 177/177] fix(linstor): check if resource is tiebreaker (#62) We check if a resource is already a tiebreaker before trying to delete the resource. @@ -13,7 +13,7 @@ Signed-off-by: Damien Thenot 1 file changed, 7 insertions(+) diff --git a/drivers/linstorvolumemanager.py b/drivers/linstorvolumemanager.py -index 103f91b..8bfd1c1 100755 +index 103f91b7..8bfd1c1b 100755 --- a/drivers/linstorvolumemanager.py +++ b/drivers/linstorvolumemanager.py @@ -812,6 +812,13 @@ class LinstorVolumeManager(object): @@ -30,6 +30,3 @@ index 103f91b..8bfd1c1 100755 result = self._linstor.resource_delete_if_diskless( node_name=node_name, rsc_name=volume_name ) --- -2.46.0 - diff --git a/SPECS/sm.spec b/SPECS/sm.spec index 2d37c9a7..a5f2923e 100644 --- a/SPECS/sm.spec +++ b/SPECS/sm.spec @@ -11,7 +11,7 @@ Summary: sm - XCP storage managers Name: sm Version: 2.30.8 -Release: %{?xsrel}.3.0.linstor.1%{?dist} +Release: %{?xsrel}.4.0.linstor.1%{?dist} Group: System/Hypervisor License: LGPL URL: https://github.com/xapi-project/sm @@ -119,161 +119,160 @@ Patch1020: 0020-Backport-NFS4-only-support.patch Patch1021: 0021-Backport-probe-for-NFS4-when-rpcinfo-does-not-includ.patch Patch1022: 0022-feat-LargeBlock-backport-of-largeblocksr-51-55.patch Patch1023: 0023-feat-LVHDSR-add-a-way-to-modify-config-of-LVMs-56.patch -Patch1024: 0024-Revert-CA-379329-check-for-missing-iSCSI-sessions-an.patch -Patch1025: 0025-Fix-timeout_call-alarm-must-be-reset-in-case-of-succ.patch -Patch1026: 0026-timeout_call-returns-the-result-of-user-function-now.patch -Patch1027: 0027-Always-remove-the-pause-tag-from-VDIs-in-case-of-fai.patch -Patch1028: 0028-fix-LinstorSR-repair-volumes-only-if-an-exclusive-co.patch -Patch1029: 0029-feat-LinstorSR-Improve-LINSTOR-performance.patch -Patch1030: 0030-feat-LinstorSR-robustify-scan-to-avoid-losing-VDIs-i.patch -Patch1031: 0031-feat-LinstorSR-display-a-correctly-readable-size-for.patch -Patch1032: 0032-feat-linstor-monitord-scan-all-LINSTOR-SRs-every-12-.patch -Patch1033: 0033-fix-LinstorSR-call-correctly-method-in-_locked_load-.patch -Patch1034: 0034-feat-LinstorSR-integrate-minidrbdcluster-daemon.patch -Patch1035: 0035-feat-LinstorSR-ensure-heartbeat-and-redo_log-VDIs-ar.patch -Patch1036: 0036-feat-LinstorSR-protect-sr-commands-to-avoid-forgetti.patch -Patch1037: 0037-fix-LinstorJournaler-ensure-uri-is-not-None-during-l.patch -Patch1038: 0038-feat-LinstorSR-add-an-option-to-disable-auto-quorum-.patch -Patch1039: 0039-fix-LinstorVolumeManager-add-a-workaround-to-create-.patch -Patch1040: 0040-feat-LinstorSR-add-optional-ips-parameter.patch -Patch1041: 0041-feat-LinstorSR-add-a-helper-log_drbd_erofs-to-trace-.patch -Patch1042: 0042-fix-LinstorSR-try-to-restart-the-services-again-if-t.patch -Patch1043: 0043-fix-LinstorSR-robustify-linstor-manager-to-never-inc.patch -Patch1044: 0044-fix-LinstorSR-prevent-starting-controller-during-fai.patch -Patch1045: 0045-feat-LinstorVolumeManager-increase-peer-slots-limit-.patch -Patch1046: 0046-feat-LinstorVolumeManager-add-a-fallback-to-find-con.patch -Patch1047: 0047-fix-var-lib-linstor.mount-ensure-we-always-mount-dat.patch -Patch1048: 0048-feat-LinstorVolumeManager-add-a-fallback-to-find-nod.patch -Patch1049: 0049-feat-LinstorSR-explain-on-which-host-plugins-command.patch -Patch1050: 0050-fix-LinstorSR-create-diskless-path-if-necessary-duri.patch -Patch1051: 0051-feat-LinstorSR-use-HTTP-NBD-instead-of-DRBD-directly.patch -Patch1052: 0052-fix-LinstorSR-find-controller-when-XAPI-unreachable-.patch -Patch1053: 0053-fix-LinstorSR-use-IPs-instead-of-hostnames-in-NBD-se.patch -Patch1054: 0054-fix-LinstorVolumeManager-ensure-we-always-use-IPs-in.patch -Patch1055: 0055-feat-linstor-manager-add-methods-to-add-remove-host-.patch -Patch1056: 0056-feat-LinstorVolumeManager-support-SR-creation-with-d.patch -Patch1057: 0057-feat-LinstorSR-add-a-config-var-to-disable-HTTP-NBD-.patch -Patch1058: 0058-feat-LinstorSr-ensure-LVM-group-is-activated-during-.patch -Patch1059: 0059-feat-linstor-manager-add-method-to-create-LinstorSR-.patch -Patch1060: 0060-fix-LinstorSR-always-set-vdi_path-in-generate_config.patch -Patch1061: 0061-fix-minidrbdcluster-supports-new-properties-like-for.patch -Patch1062: 0062-fix-LinstorSR-enabled-disable-minidrbcluster-with-fi.patch -Patch1063: 0063-fix-linstor-manager-change-linstor-satellite-start-b.patch -Patch1064: 0064-Fix-is_open-call-for-LinstorSR.patch -Patch1065: 0065-fix-linstorvhdutil-fix-boolean-params-of-check-call.patch -Patch1066: 0066-feat-linstor-manager-robustify-exec_create_sr.patch -Patch1067: 0067-fix-cleanup-print-LINSTOR-VDI-UUID-if-error-during-i.patch -Patch1068: 0068-feat-cleanup-raise-and-dump-DRBD-openers-in-case-of-.patch -Patch1069: 0069-feat-linstorvhdutil-trace-DRBD-openers-in-case-of-ER.patch -Patch1070: 0070-fix-linstorvolumemanager-compute-correctly-size-in-a.patch -Patch1071: 0071-feat-LinstorSR-use-DRBD-openers-instead-of-lsof-to-l.patch -Patch1072: 0072-feat-LinstorSR-support-cProfile-to-trace-calls-when-.patch -Patch1073: 0073-fix-LinstorJournaler-reset-namespace-when-get-is-cal.patch -Patch1074: 0074-fix-linstorvhdutil-fix-coalesce-with-VM-running-unde.patch -Patch1075: 0075-fix-linstorvolumemanager-_get_volumes_info-doesn-t-r.patch -Patch1076: 0076-fix-linstorvolumemanager-remove-double-prefix-on-kv-.patch -Patch1077: 0077-feat-LinstorSR-add-linstor-kv-dump-helper-to-print-k.patch -Patch1078: 0078-fix-LinstorSR-disable-VHD-key-hash-usage-to-limit-ex.patch -Patch1079: 0079-fix-minidrbdcluster-ensure-SIGINT-is-handled-correct.patch -Patch1080: 0080-feat-minidrbdcluster-stop-resource-services-at-start.patch -Patch1081: 0081-feat-linstor-manager-add-new-healthCheck-function-to.patch -Patch1082: 0082-fix-LinstorSR-fix-xha-conf-parsing-return-host-ip-no.patch -Patch1083: 0083-fix-LinstorSR-start-correctly-HA-servers-HTTP-NBD-af.patch -Patch1084: 0084-fix-linstorvolumemanager-use-an-array-to-store-diskf.patch -Patch1085: 0085-feat-linstorvolumemanager-support-snaps-when-a-host-.patch -Patch1086: 0086-fix-linstorvolumemanager-support-offline-hosts-when-.patch -Patch1087: 0087-fix-linstorvolumemanager-define-_base_group_name-mem.patch -Patch1088: 0088-feat-linstorvhdutil-modify-logic-of-local-vhdutil-ca.patch -Patch1089: 0089-fix-linstorvolumemanager-robustify-failed-snapshots.patch -Patch1090: 0090-fix-linstorvolumemanager-use-a-namespace-for-volumes.patch -Patch1091: 0091-feat-linstor-kv-dump-rename-to-linstor-kv-tool-add-r.patch -Patch1092: 0092-fix-LinstorSR-handle-correctly-localhost-during-star.patch -Patch1093: 0093-fix-cleanup.py-call-repair-on-another-host-when-EROF.patch -Patch1094: 0094-fix-LinstorSR-avoid-introduction-of-DELETED-volumes.patch -Patch1095: 0095-feat-linstor-kv-tool-remove-all-volumes-supports-jou.patch -Patch1096: 0096-fix-linstorvhdutil-due-to-bad-refactoring-check-call.patch -Patch1097: 0097-feat-linstorvhdutil-ensure-we-use-VHD-parent-to-find.patch -Patch1098: 0098-feat-linstorvolumemanager-force-DRBD-demote-after-fa.patch -Patch1099: 0099-fix-linstorvhdutil-ensure-we-retry-creation-in-all-s.patch -Patch1100: 0100-fix-linstorvhdutil-don-t-retry-local-vhdutil-call-wh.patch -Patch1101: 0101-feat-fork-log-daemon-ignore-SIGTERM.patch -Patch1102: 0102-feat-LinstorSR-wait-for-http-disk-server-startup.patch -Patch1103: 0103-fix-LinstorSR-handle-inflate-resize-actions-correctl.patch -Patch1104: 0104-fix-linstor-manager-add-a-static-iptables-rule-for-D.patch -Patch1105: 0105-feat-LinstorSR-sync-with-last-http-nbd-transfer-vers.patch -Patch1106: 0106-fix-LinstorSR-don-t-check-VDI-metadata-while-listing.patch -Patch1107: 0107-fix-LinstorSR-don-t-check-metadata-when-destroying-s.patch -Patch1108: 0108-fix-linstorvhdutil-handle-correctly-generic-exceptio.patch -Patch1109: 0109-fix-minidrbdcluster-robustify-to-unmount-correctly-L.patch -Patch1110: 0110-fix-minidrbdcluster-handle-correctly-KeyboardInterru.patch -Patch1111: 0111-feat-LinstorSR-use-drbd-reactor-instead-of-minidrbdc.patch -Patch1112: 0112-fix-LinstorSR-ensure-vhdutil-calls-are-correctly-exe.patch -Patch1113: 0113-fix-LinstorSR-replace-bad-param-in-detach_thin-impl.patch -Patch1114: 0114-fix-linstorvolumemanager-remove-usage-of-realpath.patch -Patch1115: 0115-fix-linstorvhdutil-avoid-parent-path-resolution.patch -Patch1116: 0116-fix-LinstorSR-create-parent-path-during-attach.patch -Patch1117: 0117-fix-LinstorSR-retry-if-we-can-t-build-volume-cache.patch -Patch1118: 0118-fix-linstorvolumemanager-reduce-peer-slots-param-to-.patch -Patch1119: 0119-fix-LinstorSR-attach-a-valid-XAPI-session-is_open-is.patch -Patch1120: 0120-fix-LinstorSR-ensure-we-always-have-a-DRBD-path-to-s.patch -Patch1121: 0121-fix-LinstorSR-remove-hosts-ips-param.patch -Patch1122: 0122-fix-LinstorSR-compute-correctly-SR-size-using-pool-c.patch -Patch1123: 0123-fix-blktap2-ensure-we-can-import-this-module-when-LI.patch -Patch1124: 0124-fix-LinstorSR-ensure-volume-cache-can-be-recreated.patch -Patch1125: 0125-fix-linstor-manager-remove-dead-useless-code-in-add-.patch -Patch1126: 0126-fix-LinstorSR-Ensure-we-always-have-a-device-path-du.patch -Patch1127: 0127-fix-LinstorSR-always-use-lock.acquire-during-attach-.patch -Patch1128: 0128-fix-LinstorSR-mare-sure-hostnames-are-unique-at-SR-c.patch -Patch1129: 0129-fix-LinstorSR-ensure-we-can-attach-non-special-stati.patch -Patch1130: 0130-fix-LinstorSR-ensure-we-can-detach-when-deflate-call.patch -Patch1131: 0131-fix-LinstorSR-assume-VDI-is-always-a-VHD-when-the-in.patch -Patch1132: 0132-fix-LinstorSR-remove-SR-lock-during-thin-attach-deta.patch -Patch1133: 0133-fix-LinstorSR-ensure-database-is-mounted-during-scan.patch -Patch1134: 0134-fix-LinstorSR-restart-drbd-reactor-in-case-of-failur.patch -Patch1135: 0135-fix-linstorvolumemanager-retry-in-case-of-failure-du.patch -Patch1136: 0136-fix-linstorvolumemanager-avoid-diskless-creation-whe.patch -Patch1137: 0137-fix-LinstorSR-remove-diskless-after-VDI.detach-calls.patch -Patch1138: 0138-fix-LinstorSR-robustify-_load_vdi_info-in-cleanup.py.patch -Patch1139: 0139-fix-LinstorSR-ensure-detach-never-fails-on-plugin-fa.patch -Patch1140: 0140-fix-LinstorSR-ensure-we-coalesce-only-volumes-with-a.patch -Patch1141: 0141-fix-LinstorSR-don-t-try-to-repair-persistent-volumes.patch -Patch1142: 0142-fix-linstorvhdutil-format-correctly-message-if-vhd-u.patch -Patch1143: 0143-fix-LinstorSR-wait-during-attach-to-open-DRBD-path.patch -Patch1144: 0144-fix-LinstorSR-support-different-volume-sizes-in-clea.patch -Patch1145: 0145-fix-LinstorSR-remove-useless-IPS_XHA_CACHE-var.patch -Patch1146: 0146-fix-LinstorSR-ensure-we-can-deflate-on-any-host-afte.patch -Patch1147: 0147-fix-LinstorSR-ensure-we-always-use-real-DRBD-VHD-siz.patch -Patch1148: 0148-feat-linstor-kv-tool-If-no-controller-uri-option-is-.patch -Patch1149: 0149-fix-linstorvolumemanager-robustify-SR-destroy-46.patch -Patch1150: 0150-feat-linstor-manager-extend-API-with-createNodeInter.patch -Patch1151: 0151-fix-LinstorSR-support-VDI.resize-on-thick-volumes.patch -Patch1152: 0152-fix-linstorvolumemanager-format-correctly-exception-.patch -Patch1153: 0153-fix-LinstorSR-ensure-we-can-skip-coalesces-if-device.patch -Patch1154: 0154-feat-linstor-manager-add-methods-to-modify-destroy-l.patch -Patch1155: 0155-fix-LinstorSR-force-a-defined-volume-prefix-if-we-ca.patch -Patch1156: 0156-fix-LinstorSR-explicit-error-message-when-a-group-is.patch -Patch1157: 0157-fix-LinstorSR-make-sure-VDI.delete-doesn-t-throw-und.patch -Patch1158: 0158-fix-LinstorSR-add-drbd-in-the-blacklist-of-multipath.patch -Patch1159: 0159-fix-linstorvolumemanager-create-cloned-volumes-on-ho.patch -Patch1160: 0160-fix-linstorvolumemanager-don-t-align-volumes-on-LVM-.patch -Patch1161: 0161-fix-linstorvolumemanager-assert-with-message-after-l.patch -Patch1162: 0162-fix-linstorvolumemanager-retry-resize-if-volume-is-n.patch -Patch1163: 0163-fix-LinstorSR-create-DRBD-diskless-if-necessary-for-.patch -Patch1164: 0164-fix-LinstorSR-fix-bad-call-to-vhdutil.inflate-bad-ex.patch -Patch1165: 0165-fix-LinstorSR-activate-VG-if-attach-from-config-is-a.patch -Patch1166: 0166-feat-LinstorSR-use-a-specific-resource-group-for-DB-.patch -Patch1167: 0167-feat-linstor-manager-add-getNodePreferredInterface-h.patch -Patch1168: 0168-fix-linstorvolumemanager-blocks-deletion-of-default-.patch -Patch1169: 0169-feat-linstorvolumemanager-change-logic-of-get_resour.patch -Patch1170: 0170-feat-linstor-manager-add-error-codes-to-healthCheck-.patch -Patch1171: 0171-fix-LinstorSR-fix-bad-exception-reference-during-sna.patch -Patch1172: 0172-fix-tapdisk-pause-ensure-LINSTOR-VHD-chain-is-availa.patch -Patch1173: 0173-fix-linstorvhdutil-retry-check-on-another-machine-in.patch -Patch1174: 0174-fix-LinstorSR-explicit-errors-when-database-path-is-.patch -Patch1175: 0175-fix-LinstorSR-Misc-fixes-on-destroy.patch -Patch1176: 0176-fix-LinstorSR-open-non-leaf-volumes-in-RO-mode-creat.patch -Patch1177: 0177-fix-LinstorSR-ensure-_is_master-is-always-set.patch -Patch1178: 0178-fix-linstor-check-if-resource-is-tiebreaker-62.patch +Patch1024: 0024-Fix-timeout_call-alarm-must-be-reset-in-case-of-succ.patch +Patch1025: 0025-timeout_call-returns-the-result-of-user-function-now.patch +Patch1026: 0026-Always-remove-the-pause-tag-from-VDIs-in-case-of-fai.patch +Patch1027: 0027-fix-LinstorSR-repair-volumes-only-if-an-exclusive-co.patch +Patch1028: 0028-feat-LinstorSR-Improve-LINSTOR-performance.patch +Patch1029: 0029-feat-LinstorSR-robustify-scan-to-avoid-losing-VDIs-i.patch +Patch1030: 0030-feat-LinstorSR-display-a-correctly-readable-size-for.patch +Patch1031: 0031-feat-linstor-monitord-scan-all-LINSTOR-SRs-every-12-.patch +Patch1032: 0032-fix-LinstorSR-call-correctly-method-in-_locked_load-.patch +Patch1033: 0033-feat-LinstorSR-integrate-minidrbdcluster-daemon.patch +Patch1034: 0034-feat-LinstorSR-ensure-heartbeat-and-redo_log-VDIs-ar.patch +Patch1035: 0035-feat-LinstorSR-protect-sr-commands-to-avoid-forgetti.patch +Patch1036: 0036-fix-LinstorJournaler-ensure-uri-is-not-None-during-l.patch +Patch1037: 0037-feat-LinstorSR-add-an-option-to-disable-auto-quorum-.patch +Patch1038: 0038-fix-LinstorVolumeManager-add-a-workaround-to-create-.patch +Patch1039: 0039-feat-LinstorSR-add-optional-ips-parameter.patch +Patch1040: 0040-feat-LinstorSR-add-a-helper-log_drbd_erofs-to-trace-.patch +Patch1041: 0041-fix-LinstorSR-try-to-restart-the-services-again-if-t.patch +Patch1042: 0042-fix-LinstorSR-robustify-linstor-manager-to-never-inc.patch +Patch1043: 0043-fix-LinstorSR-prevent-starting-controller-during-fai.patch +Patch1044: 0044-feat-LinstorVolumeManager-increase-peer-slots-limit-.patch +Patch1045: 0045-feat-LinstorVolumeManager-add-a-fallback-to-find-con.patch +Patch1046: 0046-fix-var-lib-linstor.mount-ensure-we-always-mount-dat.patch +Patch1047: 0047-feat-LinstorVolumeManager-add-a-fallback-to-find-nod.patch +Patch1048: 0048-feat-LinstorSR-explain-on-which-host-plugins-command.patch +Patch1049: 0049-fix-LinstorSR-create-diskless-path-if-necessary-duri.patch +Patch1050: 0050-feat-LinstorSR-use-HTTP-NBD-instead-of-DRBD-directly.patch +Patch1051: 0051-fix-LinstorSR-find-controller-when-XAPI-unreachable-.patch +Patch1052: 0052-fix-LinstorSR-use-IPs-instead-of-hostnames-in-NBD-se.patch +Patch1053: 0053-fix-LinstorVolumeManager-ensure-we-always-use-IPs-in.patch +Patch1054: 0054-feat-linstor-manager-add-methods-to-add-remove-host-.patch +Patch1055: 0055-feat-LinstorVolumeManager-support-SR-creation-with-d.patch +Patch1056: 0056-feat-LinstorSR-add-a-config-var-to-disable-HTTP-NBD-.patch +Patch1057: 0057-feat-LinstorSr-ensure-LVM-group-is-activated-during-.patch +Patch1058: 0058-feat-linstor-manager-add-method-to-create-LinstorSR-.patch +Patch1059: 0059-fix-LinstorSR-always-set-vdi_path-in-generate_config.patch +Patch1060: 0060-fix-minidrbdcluster-supports-new-properties-like-for.patch +Patch1061: 0061-fix-LinstorSR-enabled-disable-minidrbcluster-with-fi.patch +Patch1062: 0062-fix-linstor-manager-change-linstor-satellite-start-b.patch +Patch1063: 0063-Fix-is_open-call-for-LinstorSR.patch +Patch1064: 0064-fix-linstorvhdutil-fix-boolean-params-of-check-call.patch +Patch1065: 0065-feat-linstor-manager-robustify-exec_create_sr.patch +Patch1066: 0066-fix-cleanup-print-LINSTOR-VDI-UUID-if-error-during-i.patch +Patch1067: 0067-feat-cleanup-raise-and-dump-DRBD-openers-in-case-of-.patch +Patch1068: 0068-feat-linstorvhdutil-trace-DRBD-openers-in-case-of-ER.patch +Patch1069: 0069-fix-linstorvolumemanager-compute-correctly-size-in-a.patch +Patch1070: 0070-feat-LinstorSR-use-DRBD-openers-instead-of-lsof-to-l.patch +Patch1071: 0071-feat-LinstorSR-support-cProfile-to-trace-calls-when-.patch +Patch1072: 0072-fix-LinstorJournaler-reset-namespace-when-get-is-cal.patch +Patch1073: 0073-fix-linstorvhdutil-fix-coalesce-with-VM-running-unde.patch +Patch1074: 0074-fix-linstorvolumemanager-_get_volumes_info-doesn-t-r.patch +Patch1075: 0075-fix-linstorvolumemanager-remove-double-prefix-on-kv-.patch +Patch1076: 0076-feat-LinstorSR-add-linstor-kv-dump-helper-to-print-k.patch +Patch1077: 0077-fix-LinstorSR-disable-VHD-key-hash-usage-to-limit-ex.patch +Patch1078: 0078-fix-minidrbdcluster-ensure-SIGINT-is-handled-correct.patch +Patch1079: 0079-feat-minidrbdcluster-stop-resource-services-at-start.patch +Patch1080: 0080-feat-linstor-manager-add-new-healthCheck-function-to.patch +Patch1081: 0081-fix-LinstorSR-fix-xha-conf-parsing-return-host-ip-no.patch +Patch1082: 0082-fix-LinstorSR-start-correctly-HA-servers-HTTP-NBD-af.patch +Patch1083: 0083-fix-linstorvolumemanager-use-an-array-to-store-diskf.patch +Patch1084: 0084-feat-linstorvolumemanager-support-snaps-when-a-host-.patch +Patch1085: 0085-fix-linstorvolumemanager-support-offline-hosts-when-.patch +Patch1086: 0086-fix-linstorvolumemanager-define-_base_group_name-mem.patch +Patch1087: 0087-feat-linstorvhdutil-modify-logic-of-local-vhdutil-ca.patch +Patch1088: 0088-fix-linstorvolumemanager-robustify-failed-snapshots.patch +Patch1089: 0089-fix-linstorvolumemanager-use-a-namespace-for-volumes.patch +Patch1090: 0090-feat-linstor-kv-dump-rename-to-linstor-kv-tool-add-r.patch +Patch1091: 0091-fix-LinstorSR-handle-correctly-localhost-during-star.patch +Patch1092: 0092-fix-cleanup.py-call-repair-on-another-host-when-EROF.patch +Patch1093: 0093-fix-LinstorSR-avoid-introduction-of-DELETED-volumes.patch +Patch1094: 0094-feat-linstor-kv-tool-remove-all-volumes-supports-jou.patch +Patch1095: 0095-fix-linstorvhdutil-due-to-bad-refactoring-check-call.patch +Patch1096: 0096-feat-linstorvhdutil-ensure-we-use-VHD-parent-to-find.patch +Patch1097: 0097-feat-linstorvolumemanager-force-DRBD-demote-after-fa.patch +Patch1098: 0098-fix-linstorvhdutil-ensure-we-retry-creation-in-all-s.patch +Patch1099: 0099-fix-linstorvhdutil-don-t-retry-local-vhdutil-call-wh.patch +Patch1100: 0100-feat-fork-log-daemon-ignore-SIGTERM.patch +Patch1101: 0101-feat-LinstorSR-wait-for-http-disk-server-startup.patch +Patch1102: 0102-fix-LinstorSR-handle-inflate-resize-actions-correctl.patch +Patch1103: 0103-fix-linstor-manager-add-a-static-iptables-rule-for-D.patch +Patch1104: 0104-feat-LinstorSR-sync-with-last-http-nbd-transfer-vers.patch +Patch1105: 0105-fix-LinstorSR-don-t-check-VDI-metadata-while-listing.patch +Patch1106: 0106-fix-LinstorSR-don-t-check-metadata-when-destroying-s.patch +Patch1107: 0107-fix-linstorvhdutil-handle-correctly-generic-exceptio.patch +Patch1108: 0108-fix-minidrbdcluster-robustify-to-unmount-correctly-L.patch +Patch1109: 0109-fix-minidrbdcluster-handle-correctly-KeyboardInterru.patch +Patch1110: 0110-feat-LinstorSR-use-drbd-reactor-instead-of-minidrbdc.patch +Patch1111: 0111-fix-LinstorSR-ensure-vhdutil-calls-are-correctly-exe.patch +Patch1112: 0112-fix-LinstorSR-replace-bad-param-in-detach_thin-impl.patch +Patch1113: 0113-fix-linstorvolumemanager-remove-usage-of-realpath.patch +Patch1114: 0114-fix-linstorvhdutil-avoid-parent-path-resolution.patch +Patch1115: 0115-fix-LinstorSR-create-parent-path-during-attach.patch +Patch1116: 0116-fix-LinstorSR-retry-if-we-can-t-build-volume-cache.patch +Patch1117: 0117-fix-linstorvolumemanager-reduce-peer-slots-param-to-.patch +Patch1118: 0118-fix-LinstorSR-attach-a-valid-XAPI-session-is_open-is.patch +Patch1119: 0119-fix-LinstorSR-ensure-we-always-have-a-DRBD-path-to-s.patch +Patch1120: 0120-fix-LinstorSR-remove-hosts-ips-param.patch +Patch1121: 0121-fix-LinstorSR-compute-correctly-SR-size-using-pool-c.patch +Patch1122: 0122-fix-blktap2-ensure-we-can-import-this-module-when-LI.patch +Patch1123: 0123-fix-LinstorSR-ensure-volume-cache-can-be-recreated.patch +Patch1124: 0124-fix-linstor-manager-remove-dead-useless-code-in-add-.patch +Patch1125: 0125-fix-LinstorSR-Ensure-we-always-have-a-device-path-du.patch +Patch1126: 0126-fix-LinstorSR-always-use-lock.acquire-during-attach-.patch +Patch1127: 0127-fix-LinstorSR-mare-sure-hostnames-are-unique-at-SR-c.patch +Patch1128: 0128-fix-LinstorSR-ensure-we-can-attach-non-special-stati.patch +Patch1129: 0129-fix-LinstorSR-ensure-we-can-detach-when-deflate-call.patch +Patch1130: 0130-fix-LinstorSR-assume-VDI-is-always-a-VHD-when-the-in.patch +Patch1131: 0131-fix-LinstorSR-remove-SR-lock-during-thin-attach-deta.patch +Patch1132: 0132-fix-LinstorSR-ensure-database-is-mounted-during-scan.patch +Patch1133: 0133-fix-LinstorSR-restart-drbd-reactor-in-case-of-failur.patch +Patch1134: 0134-fix-linstorvolumemanager-retry-in-case-of-failure-du.patch +Patch1135: 0135-fix-linstorvolumemanager-avoid-diskless-creation-whe.patch +Patch1136: 0136-fix-LinstorSR-remove-diskless-after-VDI.detach-calls.patch +Patch1137: 0137-fix-LinstorSR-robustify-_load_vdi_info-in-cleanup.py.patch +Patch1138: 0138-fix-LinstorSR-ensure-detach-never-fails-on-plugin-fa.patch +Patch1139: 0139-fix-LinstorSR-ensure-we-coalesce-only-volumes-with-a.patch +Patch1140: 0140-fix-LinstorSR-don-t-try-to-repair-persistent-volumes.patch +Patch1141: 0141-fix-linstorvhdutil-format-correctly-message-if-vhd-u.patch +Patch1142: 0142-fix-LinstorSR-wait-during-attach-to-open-DRBD-path.patch +Patch1143: 0143-fix-LinstorSR-support-different-volume-sizes-in-clea.patch +Patch1144: 0144-fix-LinstorSR-remove-useless-IPS_XHA_CACHE-var.patch +Patch1145: 0145-fix-LinstorSR-ensure-we-can-deflate-on-any-host-afte.patch +Patch1146: 0146-fix-LinstorSR-ensure-we-always-use-real-DRBD-VHD-siz.patch +Patch1147: 0147-feat-linstor-kv-tool-If-no-controller-uri-option-is-.patch +Patch1148: 0148-fix-linstorvolumemanager-robustify-SR-destroy-46.patch +Patch1149: 0149-feat-linstor-manager-extend-API-with-createNodeInter.patch +Patch1150: 0150-fix-LinstorSR-support-VDI.resize-on-thick-volumes.patch +Patch1151: 0151-fix-linstorvolumemanager-format-correctly-exception-.patch +Patch1152: 0152-fix-LinstorSR-ensure-we-can-skip-coalesces-if-device.patch +Patch1153: 0153-feat-linstor-manager-add-methods-to-modify-destroy-l.patch +Patch1154: 0154-fix-LinstorSR-force-a-defined-volume-prefix-if-we-ca.patch +Patch1155: 0155-fix-LinstorSR-explicit-error-message-when-a-group-is.patch +Patch1156: 0156-fix-LinstorSR-make-sure-VDI.delete-doesn-t-throw-und.patch +Patch1157: 0157-fix-LinstorSR-add-drbd-in-the-blacklist-of-multipath.patch +Patch1158: 0158-fix-linstorvolumemanager-create-cloned-volumes-on-ho.patch +Patch1159: 0159-fix-linstorvolumemanager-don-t-align-volumes-on-LVM-.patch +Patch1160: 0160-fix-linstorvolumemanager-assert-with-message-after-l.patch +Patch1161: 0161-fix-linstorvolumemanager-retry-resize-if-volume-is-n.patch +Patch1162: 0162-fix-LinstorSR-create-DRBD-diskless-if-necessary-for-.patch +Patch1163: 0163-fix-LinstorSR-fix-bad-call-to-vhdutil.inflate-bad-ex.patch +Patch1164: 0164-fix-LinstorSR-activate-VG-if-attach-from-config-is-a.patch +Patch1165: 0165-feat-LinstorSR-use-a-specific-resource-group-for-DB-.patch +Patch1166: 0166-feat-linstor-manager-add-getNodePreferredInterface-h.patch +Patch1167: 0167-fix-linstorvolumemanager-blocks-deletion-of-default-.patch +Patch1168: 0168-feat-linstorvolumemanager-change-logic-of-get_resour.patch +Patch1169: 0169-feat-linstor-manager-add-error-codes-to-healthCheck-.patch +Patch1170: 0170-fix-LinstorSR-fix-bad-exception-reference-during-sna.patch +Patch1171: 0171-fix-tapdisk-pause-ensure-LINSTOR-VHD-chain-is-availa.patch +Patch1172: 0172-fix-linstorvhdutil-retry-check-on-another-machine-in.patch +Patch1173: 0173-fix-LinstorSR-explicit-errors-when-database-path-is-.patch +Patch1174: 0174-fix-LinstorSR-Misc-fixes-on-destroy.patch +Patch1175: 0175-fix-LinstorSR-open-non-leaf-volumes-in-RO-mode-creat.patch +Patch1176: 0176-fix-LinstorSR-ensure-_is_master-is-always-set.patch +Patch1177: 0177-fix-linstor-check-if-resource-is-tiebreaker-62.patch %description This package contains storage backends used in XCP @@ -302,6 +301,8 @@ rm -rf $RPM_BUILD_ROOT %systemd_post storage-init.service %systemd_post usb-scan.socket %systemd_post mpathcount.socket +%systemd_post sr_health_check.timer +%systemd_post sr_health_check.service # On upgrade, migrate from the old statefile to the new statefile so that # storage is not reinitialized. @@ -319,6 +320,9 @@ if [ -e /etc/multipath.conf -a ! -h /etc/multipath.conf ]; then fi update-alternatives --install /etc/multipath.conf multipath.conf /etc/multipath.xenserver/multipath.conf 90 +systemctl enable sr_health_check.timer +systemctl start sr_health_check.timer + # XCP-ng: enable linstor-monitor by default. # However it won't start without linstor-controller.service systemctl enable linstor-monitor.service @@ -331,21 +335,6 @@ if [ $1 -gt 1 ]; then multipathd reconfigure fi -if [ $1 -gt 1 ]; then - # XCP-ng: we temporarily removed sr_health_check.timer, - # so we need to disable and stop it if it is present on the system - TIMER_LINK=/etc/systemd/system/timers.target.wants/sr_health_check.timer - if [ -e "$TIMER_LINK" ]; then - systemctl --no-reload disable sr_health_check.timer 2>&1 || : - systemctl stop sr_health_check.timer 2>&1 || : - elif [ -L "$TIMER_LINK" ]; then - # Remove dangling symlink left by previous build that removed - # the timer without disabling it first. - rm -f "$TIMER_LINK" - systemctl reset-failed sr_health_check.timer - fi -fi - %preun %systemd_preun make-dummy-sr.service %systemd_preun mpcount.service @@ -354,6 +343,8 @@ fi %systemd_preun storage-init.service %systemd_preun usb-scan.socket %systemd_preun mpathcount.socket +%systemd_preun sr_health_check.timer +%systemd_preun sr_health_check.service # Remove sm-multipath on upgrade or uninstall, to ensure it goes [ ! -x /sbin/chkconfig ] || chkconfig --del sm-multipath || : # only remove in case of erase (but not at upgrade) @@ -372,6 +363,8 @@ exit 0 %systemd_postun sm-mpath-root.service %systemd_postun xs-sm.service %systemd_postun storage-init.service +%systemd_postun sr_health_check.timer +%systemd_postun sr_health_check.service if [ $1 -eq 0 ]; then [ ! -d /etc/lvm/master ] || rm -Rf /etc/lvm/master || exit $? cp -f /etc/lvm/lvm.conf.orig /etc/lvm/lvm.conf || exit $? @@ -617,6 +610,9 @@ cp -r htmlcov %{buildroot}/htmlcov /opt/xensource/sm/cbtutil.pyc /opt/xensource/sm/cbtutil.pyo /opt/xensource/sm/multipath-root-setup +/opt/xensource/sm/sr_health_check.py +/opt/xensource/sm/sr_health_check.pyc +/opt/xensource/sm/sr_health_check.pyo %dir /opt/xensource/sm/plugins /opt/xensource/sm/plugins/__init__.py* /sbin/mpathutil @@ -629,6 +625,8 @@ cp -r htmlcov %{buildroot}/htmlcov %{_unitdir}/mpathcount.service %{_unitdir}/mpathcount.socket %{_unitdir}/storage-init.service +%{_unitdir}/sr_health_check.timer +%{_unitdir}/sr_health_check.service %config /etc/udev/rules.d/65-multipath.rules %config /etc/udev/rules.d/55-xs-mpath-scsidev.rules %config /etc/udev/rules.d/58-xapi.rules @@ -692,6 +690,9 @@ cp -r htmlcov %{buildroot}/htmlcov %{_unitdir}/linstor-monitor.service %changelog +* Tue Sep 24 2024 Ronan Abhamon - 2.30.8-12.4.0.linstor.1 +- Remove 0024-Revert-CA-379329-check-for-missing-iSCSI-sessions-an.patch + * Fri Aug 30 2024 Damien Thenot - 2.30.8-12.3.0.linstor.1 - Sync with packaging changes in 8.2 - * Mon Aug 19 2024 Samuel Verschelde - 2.30.8-12.3