From 4f0a6f477aa427eb85a34b04999638325e99f739f7d53ee2930d4e8c9ddfac75 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adrian=20Schr=C3=B6ter?= Date: Fri, 3 May 2024 12:13:33 +0200 Subject: [PATCH] Sync from SUSE:SLFO:Main drbd-utils revision 76ef10cac2e74ddd77cfc36722b04756 --- .gitattributes | 23 + ...in-default-configuration-bsc-1032142.patch | 11 + ...ix-timeout-with-Pacemaker-2.1-milli-.patch | 138 ++ ...ix-timeout-with-Pacemaker-2.0.5-mill.patch | 90 + _service | 23 + drbd-utils-9.19.0.tar.gz | 3 + drbd-utils.changes | 1940 +++++++++++++++++ drbd-utils.rpmlintrc | 1 + drbd-utils.spec | 239 ++ fence-after-pacemaker-down.patch | 29 + init-script-fixes.diff | 38 + ..._fencing_from_disk_to_net_in_example.patch | 25 + pie-fix.patch | 13 + rpmlint-build-error.patch | 69 + usrmerge_move_lib_to_prefix_lib.patch | 68 + 15 files changed, 2710 insertions(+) create mode 100644 .gitattributes create mode 100644 0001-Disable-quorum-in-default-configuration-bsc-1032142.patch create mode 100644 0001-crm-fence-peer-fix-timeout-with-Pacemaker-2.1-milli-.patch create mode 100644 0002-crm-fence-peer-fix-timeout-with-Pacemaker-2.0.5-mill.patch create mode 100644 _service create mode 100644 drbd-utils-9.19.0.tar.gz create mode 100644 drbd-utils.changes create mode 100644 drbd-utils.rpmlintrc create mode 100644 drbd-utils.spec create mode 100644 fence-after-pacemaker-down.patch create mode 100644 init-script-fixes.diff create mode 100644 move_fencing_from_disk_to_net_in_example.patch create mode 100644 pie-fix.patch create mode 100644 rpmlint-build-error.patch create mode 100644 usrmerge_move_lib_to_prefix_lib.patch diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/0001-Disable-quorum-in-default-configuration-bsc-1032142.patch b/0001-Disable-quorum-in-default-configuration-bsc-1032142.patch new file mode 100644 index 0000000..3f552d9 --- /dev/null +++ b/0001-Disable-quorum-in-default-configuration-bsc-1032142.patch @@ -0,0 +1,11 @@ +diff -Naur drbd-utils-9.0.0+git.98b6340c.orig/scripts/global_common.conf drbd-utils-9.0.0+git.98b6340c/scripts/global_common.conf +--- drbd-utils-9.0.0+git.98b6340c.orig/scripts/global_common.conf 2017-06-07 16:04:14.063680274 +0800 ++++ drbd-utils-9.0.0+git.98b6340c/scripts/global_common.conf 2017-06-07 16:04:45.519644428 +0800 +@@ -42,6 +42,7 @@ + + # RECOMMENDED for three or more storage nodes with DRBD 9: + # quorum majority; ++ quorum off; + # on-no-quorum suspend-io | io-error; + } + diff --git a/0001-crm-fence-peer-fix-timeout-with-Pacemaker-2.1-milli-.patch b/0001-crm-fence-peer-fix-timeout-with-Pacemaker-2.1-milli-.patch new file mode 100644 index 0000000..2bf7d89 --- /dev/null +++ b/0001-crm-fence-peer-fix-timeout-with-Pacemaker-2.1-milli-.patch @@ -0,0 +1,138 @@ +From 8a28be74bc6efa93931c957e54c01abb18b984fe Mon Sep 17 00:00:00 2001 +From: Lars Ellenberg +Date: Wed, 12 Jan 2022 13:50:35 +0100 +Subject: [PATCH] crm-fence-peer: fix timeout with Pacemaker 2.1: milli seconds + vs seconds +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +crmadmin timeout was in milli seconds for <= 2.0.x, +but became a TIMESPEC with default seconds in >= 2.1. + +Up to 2.0.4, atoi() was used, which effectively ignores "trailing garbage", +so we could get away with always appending "ms". +But with 2.0.5, it became g_option_context_parse G_OPTION_ARG_INT, which +"Cannot parse integer value “200ms” for --timeout" :-| + +So grep the help message for "timeout.*milliseconds", +and if not present, append an explicit "ms" unit. + +Also tolerate both ": ok" (2.1) and " (ok)" (older) +when matching the output string of crmadmin -S. +--- + scripts/crm-fence-peer.9.sh | 24 +++++++++++++++++++++--- + scripts/crm-fence-peer.sh | 24 +++++++++++++++++++++--- + 2 files changed, 42 insertions(+), 6 deletions(-) + +diff --git a/scripts/crm-fence-peer.9.sh b/scripts/crm-fence-peer.9.sh +index 36590bd8..c943bf9f 100755 +--- a/scripts/crm-fence-peer.9.sh ++++ b/scripts/crm-fence-peer.9.sh +@@ -392,6 +392,20 @@ check_cluster_properties() + crm_is_not_false ${stonith_enabled:-} && stonith_enabled=true || stonith_enabled=false + } + ++setup_crm_timeout_unit_ms() ++{ ++ # crmadmin timeout was in ms for <= 2.0.x, ++ # but became a TIMESPEC in >= 2.1. ++ # Up to 2.0.4, atoi() was used, which effectively ignores "trailing ++ # garbage", so we could get away with always appending "ms", but with ++ # 2.0.5, it became g_option_context_parse G_OPTION_ARG_INT, which ++ # "Cannot parse integer value “200ms” for --timeout" :-| ++ if crmadmin --help 2>&1 | grep -q -e "--timeout=.*in milliseconds"; then ++ crm_timeout_unit_ms="" ++ else ++ crm_timeout_unit_ms="ms" ++ fi ++} + + # + # In case this is a two-node cluster (still common with +@@ -737,6 +751,7 @@ drbd_peer_fencing() + + local startup_fencing stonith_enabled + check_cluster_properties ++ setup_crm_timeout_unit_ms + + if ! $had_constraint_on_entry ; then + +@@ -1075,14 +1090,17 @@ _check_peer_node_reachable() + # it is obviously reachable. + # + # Do this only after we have been able to reach a DC above. +- # Note: crmadmin timeout is in milli-seconds, and defaults to 30000 (30 seconds). ++ # Note: crmadmin timeout defaults to 30 seconds. ++ # + # Our variable $cibtimeout should be in deci-seconds (see above) + # (unless you use a very old version of pacemaker, so don't do that). + # Convert deci-seconds to milli-seconds, and double it. ++ # See also setup_crm_timeout_unit_ms() above. ++ # + if [[ $crmd = "online" ]] ; then + local out +- if out=$( crmadmin -t $(( cibtimeout * 200 )) -S $DRBD_PEER ) \ +- && [[ $out = *"(ok)" ]]; then ++ if out=$( crmadmin -t $(( cibtimeout * 200 ))$crm_timeout_unit_ms -S $DRBD_PEER ) \ ++ && [[ $out = *@(": ok"|" (ok)") ]]; then + peer_state="reachable" + return + fi +diff --git a/scripts/crm-fence-peer.sh b/scripts/crm-fence-peer.sh +index cb5deded..96786734 100755 +--- a/scripts/crm-fence-peer.sh ++++ b/scripts/crm-fence-peer.sh +@@ -244,6 +244,20 @@ check_cluster_properties() + crm_is_not_false $stonith_enabled && stonith_enabled=true || stonith_enabled=false + } + ++setup_crm_timeout_unit_ms() ++{ ++ # crmadmin timeout was in ms for <= 2.0.x, ++ # but became a TIMESPEC in >= 2.1. ++ # Up to 2.0.4, atoi() was used, which effectively ignores "trailing ++ # garbage", so we could get away with always appending "ms", but with ++ # 2.0.5, it became g_option_context_parse G_OPTION_ARG_INT, which ++ # "Cannot parse integer value “200ms” for --timeout" :-| ++ if crmadmin --help 2>&1 | grep -q -e "--timeout=.*in milliseconds"; then ++ crm_timeout_unit_ms="" ++ else ++ crm_timeout_unit_ms="ms" ++ fi ++} + + # + # In case this is a two-node cluster (still common with +@@ -426,6 +440,7 @@ drbd_peer_fencing() + + local startup_fencing stonith_enabled + check_cluster_properties ++ setup_crm_timeout_unit_ms + + if [[ -z $have_constraint ]] ; then + # try to place it. +@@ -718,14 +733,17 @@ check_peer_node_reachable() + # it is obviously reachable. + # + # Do this only after we have been able to reach a DC above. +- # Note: crmadmin timeout is in milli-seconds, and defaults to 30000 (30 seconds). ++ # Note: crmadmin timeout defaults to 30 seconds. ++ # + # Our variable $cibtimeout should be in deci-seconds (see above) + # (unless you use a very old version of pacemaker, so don't do that). + # Convert deci-seconds to milli-seconds, and double it. ++ # See also setup_crm_timeout_unit_ms() above. ++ # + if [[ $crmd = "online" ]] ; then + local out +- if out=$( crmadmin -t $(( cibtimeout * 200 )) -S $DRBD_PEER ) \ +- && [[ $out = *"(ok)" ]]; then ++ if out=$( crmadmin -t $(( cibtimeout * 200 ))$crm_timeout_unit_ms -S $DRBD_PEER ) \ ++ && [[ $out = *@(": ok"|" (ok)") ]]; then + peer_state="reachable" + return + fi +-- +2.40.0 + diff --git a/0002-crm-fence-peer-fix-timeout-with-Pacemaker-2.0.5-mill.patch b/0002-crm-fence-peer-fix-timeout-with-Pacemaker-2.0.5-mill.patch new file mode 100644 index 0000000..88b4ec3 --- /dev/null +++ b/0002-crm-fence-peer-fix-timeout-with-Pacemaker-2.0.5-mill.patch @@ -0,0 +1,90 @@ +From 68d1e4242f165917bc2c787d9df0fe41251e05e6 Mon Sep 17 00:00:00 2001 +From: Lars Ellenberg +Date: Wed, 12 Jan 2022 13:50:35 +0100 +Subject: [PATCH] crm-fence-peer: fix timeout with Pacemaker 2.0.5: milli + seconds vs seconds +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Addendum to 8a28be74bc6efa93931c957e54c01abb18b984fe +Commit message of the above cited here: + +> crmadmin timeout was in milli seconds for <= 2.0.x, +> but became a TIMESPEC with default seconds in >= 2.1. +> +> Up to 2.0.4, atoi() was used, which effectively ignores "trailing garbage", +> so we could get away with always appending "ms". +> But with 2.0.5, it became g_option_context_parse G_OPTION_ARG_INT, which +> "Cannot parse integer value “200ms” for --timeout" :-| +> +> So grep the help message for "timeout.*milliseconds", +> and if not present, append an explicit "ms" unit. + +And this is where I got it wrong :-( +somewhere later they re-organised the help text +so now I would need to parse --help-all. + +Instead try to actually call "crmadmin -t 100ms --version". +If that works, it apparently understands (or ignores) +the "ms" unit. +--- + scripts/crm-fence-peer.9.sh | 14 +++++++++++--- + scripts/crm-fence-peer.sh | 14 +++++++++++--- + 2 files changed, 22 insertions(+), 6 deletions(-) + +diff --git a/scripts/crm-fence-peer.9.sh b/scripts/crm-fence-peer.9.sh +index c943bf9f..fc8d2bc3 100755 +--- a/scripts/crm-fence-peer.9.sh ++++ b/scripts/crm-fence-peer.9.sh +@@ -400,10 +400,18 @@ setup_crm_timeout_unit_ms() + # garbage", so we could get away with always appending "ms", but with + # 2.0.5, it became g_option_context_parse G_OPTION_ARG_INT, which + # "Cannot parse integer value “200ms” for --timeout" :-| +- if crmadmin --help 2>&1 | grep -q -e "--timeout=.*in milliseconds"; then +- crm_timeout_unit_ms="" +- else ++ # Can not parse the help text reliably, because they changed content ++ # and organisation of the help text between 2.0.4 and 2.0.5. ++ # Just try using ms unit, and see if it fails. ++ if crmadmin -t 100ms --version &> /dev/null; then ++ # this is either a recent version that actually understands ms ++ # as part of the TIMESPEC, or a version that still uses atoi(). + crm_timeout_unit_ms="ms" ++ else ++ # this one likely failed with ++ # crmadmin: Cannot parse integer value “100ms” for -t ++ # (>= 2.0.5, < 2.1) ++ crm_timeout_unit_ms="" + fi + } + +diff --git a/scripts/crm-fence-peer.sh b/scripts/crm-fence-peer.sh +index 96786734..b0e4e0f1 100755 +--- a/scripts/crm-fence-peer.sh ++++ b/scripts/crm-fence-peer.sh +@@ -252,10 +252,18 @@ setup_crm_timeout_unit_ms() + # garbage", so we could get away with always appending "ms", but with + # 2.0.5, it became g_option_context_parse G_OPTION_ARG_INT, which + # "Cannot parse integer value “200ms” for --timeout" :-| +- if crmadmin --help 2>&1 | grep -q -e "--timeout=.*in milliseconds"; then +- crm_timeout_unit_ms="" +- else ++ # Can not parse the help text reliably, because they changed content ++ # and organisation of the help text between 2.0.4 and 2.0.5. ++ # Just try using ms unit, and see if it fails. ++ if crmadmin -t 100ms --version &> /dev/null; then ++ # this is either a recent version that actually understands ms ++ # as part of the TIMESPEC, or a version that still uses atoi(). + crm_timeout_unit_ms="ms" ++ else ++ # this one likely failed with ++ # crmadmin: Cannot parse integer value “100ms” for -t ++ # (>= 2.0.5, < 2.1) ++ crm_timeout_unit_ms="" + fi + } + +-- +2.40.0 + diff --git a/_service b/_service new file mode 100644 index 0000000..1a3562f --- /dev/null +++ b/_service @@ -0,0 +1,23 @@ + + + https://github.com/LINBIT/drbd-utils.git + git + drbd-utils + + 9.19.0+git.%h + master + + + + *drbd-utils*.tar + gz + + + + drbd-utils + + diff --git a/drbd-utils-9.19.0.tar.gz b/drbd-utils-9.19.0.tar.gz new file mode 100644 index 0000000..a5c55f2 --- /dev/null +++ b/drbd-utils-9.19.0.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3827bfed6630f8784ec558a8ac3de68175d544876d897c0810ad141a61487cad +size 1261589 diff --git a/drbd-utils.changes b/drbd-utils.changes new file mode 100644 index 0000000..9d027d9 --- /dev/null +++ b/drbd-utils.changes @@ -0,0 +1,1940 @@ +------------------------------------------------------------------- +Wed May 31 12:34:42 UTC 2023 - Frederic Crozat + +- Update url and remove download url for tarball, not valid anymore. + +------------------------------------------------------------------- +Mon Mar 27 15:16:52 UTC 2023 - Nicholas Yang + +- crm-fence-peer incompatible with Pacemaker 2.1 and needs backports (bsc#1209783) + * 0001-crm-fence-peer-fix-timeout-with-Pacemaker-2.1-milli-.patch + * 0002-crm-fence-peer-fix-timeout-with-Pacemaker-2.0.5-mill.patch + +------------------------------------------------------------------- +Thu Mar 23 06:22:17 UTC 2023 - Nicholas Yang + +- bsc#1208922: fails to replace directory /lib/drbd with symlink + * modify drbd-utils.spec to manipulate the symlink in %postun and %posttrans script + +------------------------------------------------------------------- +Fri Mar 10 07:42:09 UTC 2023 - Nicholas Yang + +- bsc#1208922: fails to replace directory /lib/drbd with symlink + * modify drbd-utils.spec to rename it in pretrans script + +------------------------------------------------------------------- +Tue Jan 3 05:09:00 UTC 2023 - Heming Zhao + +- drbd.service fails to load - incorrect path to executable (bsc#1206754) + * use %suse_version to replace %UsrMerge + * modify drbd-utils.spec for create symbolic folder "/lib/drbd" + +------------------------------------------------------------------- +Fri Oct 14 06:37:53 UTC 2022 - Roger Zhou + +- bsc#1204276 remove crm-fence-peer.sh for drbd8 to avoid confusion with v9 + +------------------------------------------------------------------- +Wed Sep 21 13:11:34 UTC 2022 - Roger Zhou + +- drbd-utils.spec force _localstatedir to use /var/lib in runtime (bsc#1203220) + +------------------------------------------------------------------- +Fri Sep 16 07:30:59 UTC 2022 - Roger Zhou + +- restore drbd scripts back to /usr/lib/drbd from /lib/drbd (bsc#1203220) + Update drbd-utils.spec +- fix drbd-bash-completion + Update rpmlint-build-error.patch + +------------------------------------------------------------------- +Mon Oct 11 09:43:25 UTC 2021 - nick wang + +- Update to 9.19.0 + * v9,events2: show changes of peer-client + * v9: rr-conflict strategy auto-discard for protocol A + * windrbd: various fixes including setting the systemd root + * containers: switch to UBI8 + * v9,wait-*: fix segfault +- bsc#1191058, active UsrMerge to install in /usr + Add patch usrmerge_move_lib_to_prefix_lib.patch +- Remove patch fix-libdir-in-Makefile.patch + Remove patch systemd-drbd-service-needs-network-online.patch (included) +- Add drbd-utils.rpmlintrc for Error missing-call-to-setgroups-before-setuid +- Add rpmlint-build-error.patch to fix rpmbuild build errors + +------------------------------------------------------------------- +Fri Sep 17 08:05:56 UTC 2021 - nick wang + +- bsc#1190591, fail to start due to lack of /usr/var/run/drbd + +------------------------------------------------------------------- +Wed Jul 21 07:20:21 UTC 2021 - nick wang + +- Update to 9.18.0 (bsc#1189363) + * build: remove rpm related targets + * drbdsetup,v84: fix minor compile warnings + * systemd: resource specific activation + * systemd: drbd-reactor promoter templates + * doc: fix maximum ping timeout + * doc: add man pages for the systemd templates + * drbdadm,v9: fix dstate for diskless volumes + * build/release: use lbvers.py + * drbd-attr: don't leak fd to drbdsetup + * doc: various fixes and additions + * drbdsetup,events2,v9: add backing_device + * build,Debian: rm dh-systemd dependency + * drbdsetup,events2,v9: fix --poll regression + * drbdmeta: fix bug with ALs with small final extents + * build,Debian: rm mail recommends + * drbdsetup,events2,v9: allow --poll without --now + * drbdsetup,invalidate: allow bitmap based resync after verify + * drbdadm,sh-ll-dev: change output to "none" if diskless + * drbd-attr/may_promote: fixes from 9.15.1 + * drbdadm,v9: allow set-gi in single node clusters + * drbsetup,events2,v9: diff(erential) output + * drbsetup,events2,v9: add --full output + * v9: allow resource rename, also in drbdmon + * drbdadm,v9: allow c-max-rate to be disabled + * New drbd-attr Pacemaker RA + * events2: handle mixed initial state and multicast events + * events2: fix regression to always print resync done +- Add patch systemd-drbd-service-needs-network-online.patch + +------------------------------------------------------------------- +Wed Apr 21 10:15:08 UTC 2021 - Matthias Gerstner + +- add pie-fix.patch: explicitly pass -pie linker flag when building drbdmon. + The Makefile explicitly passes -fPIC, thereby breaking our gcc-PIE profile. + In addition the Makefile also ignores CXXFLAGS and LDFLAGS passed via the + environment. Therefore fix it with this patch. This makes drbdmon a PIE + binary (bsc#1184122, bsc#1185132). + +------------------------------------------------------------------- +Tue Nov 17 16:01:34 UTC 2020 - Ludwig Nussel + +- prepare usrmerge (boo#1029961) + +------------------------------------------------------------------- +Mon Oct 12 12:12:12 UTC 2020 - ohering@suse.de + +- Move block-drbd back to /etc/xen/scripts (bsc#1177531) + The change in xen.spec was reverted, but the revert was not applied + to this pkg + +------------------------------------------------------------------- +Fri Sep 11 02:35:49 UTC 2020 - nick wang + +- bsc#1176436, update to 9.14.0 + * pacemaker: various fixes/improvements for PM >=1.1.15 + including the 2 series; crm-fence-peer.9.sh + * systemd dependency for drbd-proxy + * containers: multi-arch support, especially for s390x + * multipathd: blacklist drbd + * drbdsetup: code refactoring and improvements, + as well as tests for events2! + add "may_promote", "promotion_score". See man page. + * build: compile fixes for gcc-10; CI pipeline + * handlers: add "disconnected" +- Remove patch crm-fence-peer-pacemaker2-issue2.patch (included) + Remove patch link-error-setup_option.patch (included) + +------------------------------------------------------------------- +Fri Sep 4 02:29:56 UTC 2020 - nick wang + +- bsc#1176065, fail to get master id from cib xml in fence handler + Add patch crm-fence-peer-pacemaker2-issue2.patch + +------------------------------------------------------------------- +Mon Jun 8 08:11:04 UTC 2020 - nick wang + +- bsc#1172641, fix the link error of setup_option. + Add patch link-error-setup_option.patch + +------------------------------------------------------------------- +Sat May 9 01:17:31 UTC 2020 - nick wang + +- bsc#1171419, Update to 9.13.0 + * crm-fence-peer{,.9}.sh: detect Pacemaker 2 promotable clones + * submodules: switch to https, which makes it easier to clone + if you are behind some weird company firewalls. + * drbd.service: start pacemaker before drbd-proxy + * windrbd: various new commands including create-resource-from-url, + set-syslog-ip, scan-partitions-for-minor, install-bus-device, + remove-bus-device +- Remove patch crm-fence-peer-pacemaker2.patch + +------------------------------------------------------------------- +Tue Mar 10 09:10:40 UTC 2020 - nick wang + +- bsc#1166200 ,fix crm-fence-peer regex issue with pacemaker 2. +- Add patch crm-fence-peer-pacemaker2.patch + +------------------------------------------------------------------- +Tue Feb 25 06:18:56 UTC 2020 - nick wang + +- Update to 9.12.0 + * drbd.ocf: new wrc_timeout param, fail on attach failure, + remove_master_score_if_peer_primary param, + fail_promote_early_if_peer_primary param, improved helper logging + no error if wait-connect fails + * drbdadm,v9: fix dumping meta-disk in corner case + * crm-fence-peer.9.sh: fix Pacemaker 2 compat + * drbdsetup,v9: fixes for various json output corner cases + * drbdsetup,all: prepare for netlink changes (linux v5.2+) + * drbdadm,v9: fix a check for setting up connections multiple times + * init: setup file backed loop devices (mapping from LINSTOR) + * rr-conflict: add retry-connect option (>=drbd 9.0.20) + * drbdmon: 256/16 colors; events2 handler improvements + * drbdsetup,v9: new flag: force-resync (>=drbd 9.0.21) +- Remove netlink-prepare-for-kernel-v5.2.patch + Remove netlink-Add-NLA_F_NESTED-flag-to-nested-attribute.patch + Remove cibadmin-return-code-convert.patch in 144c8cc1d + +------------------------------------------------------------------- +Mon Feb 3 12:26:16 UTC 2020 - Dominique Leuenberger + +- BuildRequire pkgconfig(udev) instead of udev: allow OBS to + shortcut through the -mini flavors. + +------------------------------------------------------------------- +Thu Oct 17 17:49:08 UTC 2019 - Richard Brown + +- Remove obsolete Groups tag (fate#326485) + +------------------------------------------------------------------- +Fri Sep 20 06:18:33 UTC 2019 - nick wang + +- bsc#1145296, fix the wrong return code with cib_apply_diff + Add patch cibadmin-return-code-convert.patch + +------------------------------------------------------------------- +Mon Sep 6 08:57:04 UTC 2019 - nwang@suse.com + +- Support Kernel 5.2, bsc#1149945 and bsc#1144702 +- Add patch netlink-prepare-for-kernel-v5.2.patch + Add patch netlink-Add-NLA_F_NESTED-flag-to-nested-attribute.patch + +------------------------------------------------------------------- +Mon Sep 6 01:54:27 UTC 2019 - nwang@suse.com + +- Update to 9.10.0 + * drbdmon: limit desplay lenght, minor fixes + * drbdsetup,v9: avoid underflow when resync regresses + * drbdmeta,v9: allow huge (~1PB volumes) + * drbdsetup,v9: add allow-remote-read flag(9.0.19) + * docker: switch to UBI images + * doc: update JA doc + +------------------------------------------------------------------- +Thu Sep 5 07:42:21 UTC 2019 - ohering@suse.de + +- In our effort to make /etc fully admin controlled, move /etc/xen/scripts + to libexec/xen/scripts + +------------------------------------------------------------------- +Tue Jun 11 12:42:01 UTC 2019 - Dominique Leuenberger + +- BuildRequire pkgconfig(systemd) instead of systemd: allow OBS to + shortcut the build queues by allowing usage of systemd-mini + +------------------------------------------------------------------- +Tue May 28 05:59:13 UTC 2019 - nwang@suse.com + +- Update to 9.9.0 + * drbdadm,v9: do not ignore stacked/upper implicit paths. + * docker: provide initial integration. + * doc,v9: document transport keyword + * drbdmeta,v9: support for PMEM activity log format + * drbdadm: allow faking of drbdsetup show output + * drbdmeta,v9: fix forget-peer + +------------------------------------------------------------------- +Thu Jan 17 07:16:25 UTC 2019 - nwang@suse.com + +- Update to 9.8.0 + * i18n: use propper po files + * v9,stacked: allow node-id in stacked section + but one should not use stacked with v9 anyways + * dry run: remove trailing white space + This eases test integration. + Mentioned here because strictly speaking output changed. + * regression tests: if at ./configure time "clitest" is detected, + one can run tests via "make test". Target is a noop otherwise. + * drbdsetup,v9: fix wait-for (same patch as in 9.7.1) + * doc,v9: require-drbd-module-version-*, events2 --now --poll + * drbdadm,v9: allow stacked-on-top-of sections without address + * drbdadm,v9: bring up only the correct paths in multi-site scenaios. + * drbdadm,v9: fix parser segfault if node-id is missing. + * tests: require that they pass on release. + * drbdsetup,v9: fix key collision in show --json. +- bsc#1121794, use drbd9 man pages. + +------------------------------------------------------------------- +Wed Dec 5 09:01:02 UTC 2018 - nwang@suse.com + +- Update to 9.7.0 + * drbdadm,v9,v84: fix resync-after + * drbd.ocf: connect_only_after_promote, require kernel version + * drbdmon: display resync progress + * parser,v9: require-drbd-module-version + * windrbd: add WinDRBD support + +------------------------------------------------------------------- +Tue Oct 30 08:05:03 UTC 2018 - nwang@suse.com + +- bsc#1115606. Update to new upstream release 9.6.0 + * usage-count: also count notty users if possible. + * drbd-overview: remove it, we have drbdtop/drbdmon. saves all the Perl deps. + * drbdmon: update frequency limiting, debug log for drbdevents, use + altbuffer,... + * drbdsetup show: on 9 allow json output. + mainly used in our CI, don't expect a stable field names yet. + * drbdsetup satus: on 9 fix json output to not include NaN/Infinity + * allow higher resync rates: first customers hit a limit. this requires an + updated kernel module as well (e.g., 9.0.16) + * init: fix some 8-only leftovers (sh-b-pri), sanitize the retry logic + * doc: document various 9 features that got forgotten (e.g., quorum-lost) + * build: various small fixes that popped up while playing with meson +- Remove patch: skip_sh-b-pri_in_v9.patch fix in ace704aac + +------------------------------------------------------------------- +Mon Jul 23 03:05:33 UTC 2018 - nwang@suse.com + +- Update to 9.5.0 + * drbdmon: allow to start in problems view (--problems) + * drbdadm,v9: fix always failing stacked handlers from kernel + * drbdadm,v9: adjust now hands over the information that a + diskfull->diskless change was intentional. + * drbdadm,v9: adjust verifies now IPs +- Remove patch: fix_call_khelper_with_stack.patch in 60ec9fa68 + +------------------------------------------------------------------- +Thu May 10 09:11:09 UTC 2018 - nwang@suse.com + +- Update to 9.4.0 + * drbdmeta: don't exit with negative return codes + * usage counts: only register if we know driver version + * drbdsetup,v9: expose detailed verify/resync statistics + * drbdsetup,v9,json: saner types for client/peer-client/quorum + on --json + * drbdsetup,v9: expose client/peer-client in status if !isatty() +- Including fix for SLE12SP3: + bsc#1064402, remove hardcoded local5 of logfacility + bsc#1037109, drbdmeta does not propagate full bitmap + +------------------------------------------------------------------- +Sun Apr 8 02:43:23 UTC 2018 - nwang@suse.com + +- bsc#1090167, Update to 9.3.1 + * update to Japanese man pages + * fixes for stacking in drbd-9.0 + * fixes for proxy support in drbd-9.0 + * fix adjusting --bitmap=no peer to diskfull + * VCS: typos and fixes for stacked resources +- Remove upstream patch Fix-no-bitmap-allocate-for-stacked-res.patch +- Remove upstream patch Support-pass-force-to-dump-md.patch +- Remove patch fix-segfault-up-stacked-resource.patch with + upstream fix 74b1cbb274 +- drbdadm v84: fixup for disable-write-same +- Fix IPv4 & IPv6 address comparisons for 'drbdadm adjust' + +------------------------------------------------------------------- +Mon Feb 5 07:09:33 UTC 2018 - nwang@suse.com + +- bsc#1077176, pass the string to backend. +- bsc#1058770, fix kernel trace while starting + sync stacked drbd +- Add patch Fix-no-bitmap-allocate-for-stacked-res.patch +- Add patch Support-pass-force-to-dump-md.patch + +------------------------------------------------------------------- +Mon Jan 22 05:02:12 UTC 2018 - nwang@suse.com + +- bsc#1076936, from bwiedemann@suse.com. + Reproducible builds support merged in upstream, but + the changes in spec is lost. + +------------------------------------------------------------------- +Wed Dec 6 07:19:50 UTC 2017 - nwang@suse.com + +- bsc#1074169, Update to 9.2.0 + * Japanese man pages + * initial vertias cluster agent support + * quorum integration (including agents) + * improve drbd9 (mesh)/drbd-proxy integration + * pull fixups from 9.1.1 branch + * switch to github + * drbdmon: page naviagation + * debian: add mount as dependency + +------------------------------------------------------------------- +Mon Oct 16 09:38:35 UTC 2017 - nwang@suse.com + +- bsc#1061145, fencing is moved from disk secion to net + Add move_fencing_from_disk_to_net_in_example.patch +- bsc#1061147, skip running drbdadm sh-b-pri in drbd9 + Add skip_sh-b-pri_in_v9.patch + +------------------------------------------------------------------- +Fri Sep 1 08:13:38 UTC 2017 - nwang@suse.com + +- Update to 9.1.0 + * allow events2 --now polling + * fix ambiguous inheritance for peer-device-options + * fixup fallback path for BLKZEROOUT for older kernels + * fix v9 proxy support + * modernized XEN scripts + * reproducible builds support + * create-md --force for v8.4 (for compat to v9) + * fix cstate output + * resize: give resize more time (same as attach) + * drbdmon: peer-device status, version info, node name + * "drbdadm status" for v8.4 + * set peer-device-options only once +- Remove Update-block-drbd-script-to-support-xen.patch + +------------------------------------------------------------------- +Fri Aug 25 06:45:36 UTC 2017 - nwang@suse.com + +- fate#323392, enable drbdmon which imported in 8.9.10 + +------------------------------------------------------------------- +Fri Aug 11 06:09:20 UTC 2017 - nwang@suse.com + +- bsc#1052352, support block drbd for legacy format. +- Add Update-block-drbd-script-to-support-xen.patch + +------------------------------------------------------------------- +Tue Jul 25 08:35:18 UTC 2017 - nwang@suse.com + +- bsc#1048671, Fix handler called from kernel always invalid + for stacking resource +- Add fix_call_khelper_with_stack.patch + +------------------------------------------------------------------- +Wed Jun 7 08:13:07 UTC 2017 - nwang@suse.com + +- Update to v9.0.0 + * drbd udev: fix inconsistent inheritance of implicit volumes + * Fix regressions of the out-of-the-box DRBD 8.4 experience + * DrbdMon: can now focus on "problem" resources + * v9: support new option on_no_quorum + * drbdadm: fix segfaults, improve error reporting + * adjust: fix deleting unrelated peer(s) on "adjust resource:specific-peer" + * drbdmeta create-md/convert: fix check for existing external meta-data +- Merged into upstream, remove Pass-md_index-information-to-detect_md.patch + +------------------------------------------------------------------- +Thu Apr 27 06:19:24 UTC 2017 - nwang@suse.com + +- bsc#1032074, fix Inconsistent metadata after upgrade +- Add Pass-md_index-information-to-detect_md.patch + * will be merged into upstream in v8.9.12 + +------------------------------------------------------------------- +Tue Apr 4 12:21:55 UTC 2017 - kgronlund@suse.com + +- Update to v8.9.11 + * No source changes from v8.9.11rc1 + +------------------------------------------------------------------- +Tue Apr 4 09:25:09 UTC 2017 - kgronlund@suse.com + +- Disable quorum in default configuration (bsc#1032142) +- Add 0001-Disable-quorum-in-default-configuration-bsc-1032142.patch + +------------------------------------------------------------------- +Fri Mar 24 07:06:02 UTC 2017 - nwang@suse.com + +- Update to v8.9.11rc1 +- OCF resource agent and crm-fence-peer for drbd9 + introduce quorum support + JSON output fixes + set bitmap to 0 on metadata creation +- Remove patch support-drbd9-ra.patch + Remove patch initialize-node-id-when-create-md.patch +- Corresponding user space change of bsc#1031299 + +------------------------------------------------------------------- +Wed Mar 22 09:10:59 UTC 2017 - nwang@suse.com + +- Update to v8.9.10 for drbd9.0.6 and drbdmanage +- new drbdmon tool + drbdadm parser got faster + send SIGKILL to childs if parent drbdadm dies + compat fixes for linux kernel + +------------------------------------------------------------------- +Mon Feb 20 16:30:37 CET 2017 - kukuk@suse.de + +- Remove obsolete Requires for pre/post install sections + +------------------------------------------------------------------- +Tue Feb 14 07:36:34 UTC 2017 - nwang@suse.com + +- bsc#1025585, update to v8.9.8 +- Remove patch zeroout-discard-devices.patch + Remove patch service-mod.patch + +------------------------------------------------------------------- +Tue Dec 6 08:06:00 UTC 2016 - nwang@suse.com + +- bsc#1006105, initialize node id when creating md. +- Add patch initialize-node-id-when-create-md.patch + +------------------------------------------------------------------- +Wed Aug 3 03:39:18 UTC 2016 - nwang@suse.com + +- bsc#990834, remove the warning with experimental. +- Add warning when using multiple nodes. + +------------------------------------------------------------------- +Wed Jun 29 01:54:54 UTC 2016 - nwang@suse.com + +- bsc#986215, fix segfault of up a DRBD9 stacked resource. +- Add patch fix-segfault-up-stacked-resource.patch + +------------------------------------------------------------------- +Wed Jun 29 01:53:49 UTC 2016 - nwang@suse.com + +- bsc#986784, fix DRBD9 stacked resource could not started by RA. + +------------------------------------------------------------------- +Fri Apr 8 13:04:00 UTC 2016 - lchiquitto@suse.de + +- bsc#972886, add pkg-config as build requirement to ensure udev's + rules directory will be detected at build time + +------------------------------------------------------------------- +Mon Mar 14 08:01:22 UTC 2016 - nwang@suse.com + +- fate#320495. Support ha resource agent of drbd9. + Add patch support-drbd9-ra.patch + +------------------------------------------------------------------- +Mon Mar 7 08:18:08 UTC 2016 - nwang@suse.com + +- bsc#955177, fence when another node pacemaker shutdown. + add patch fence-after-pacemaker-down.patch + +------------------------------------------------------------------- +Mon Mar 7 08:13:43 UTC 2016 - nwang@suse.com + +- Update to v8.9.6 + * Call "drbdsetup resize" only as often as necessary on + "drbdadm resize" + * Disconnect connection first on single path deletion from connection + * Add unfence-peer handler + * Fix "drbdadm adjust" for proxy configurations + +------------------------------------------------------------------- +Tue Feb 23 05:19:07 UTC 2016 - nwang@suse.com + +- bsc#967753. Fix different udev rules folder in Leap and openSUSE. + +------------------------------------------------------------------- +Thu Dec 24 06:17:48 UTC 2015 - nwang@suse.com + +- Update to v8.9.5 + * add support for new disk option + 'rs-discard-granularity' (module v8.4.7) + * add support for new disk option + 'discard-zeroes-if-aligned' (module v8.4.7) + * add support for v9 "path" commands + * doc improvements/corrections + * improvements to drbd ocf resource agent + and pacemaker "constraint based fencing" + (crm-fence-peer.sh) + * drbd-overview improvements + * Add an autoconf switch for building without man pages + * Fix compatibility with the musl C library + * Introduce the concept of paths within a connection to + the config file; add support for paths to drbdadm adjust + * Allow multiple connection-mesh statements within one resource + * Document peer-device-options on the drbd-9.0 man pages + * increase the lower boundary for al-extents from 7 to 67; + drbdadm clamps al-extents to 67 implicitly if you configures + something lower than 67 + * Document the events2 command on the drbd-8.4 man page + * Fix environment variables for handlers + * Rewrite the parser for configure options; Reuse the data + structures describing drbdsetup options + * No longer try to set peer-device-options with the connect + or attach commands; Only do it with the up and attach commands + * Fixed issues with stderr messages might go into arbitrary FDs + * Allow recursive includes; drbdadm includes each config + file only once + * Fix parsing cut-off proxy sections + * When converting 8.4 to 9.0 meta-data produce meta-data the drbd9 + kernel driver will accept + * Obey max-peers for all volumes when creating meta-data + * Do not re-register at usage.drbd.org when the module is not + loaded when drbdadm is invoked + +------------------------------------------------------------------- +Tue Nov 3 02:14:24 UTC 2015 - nwang@suse.com + +- BSC#949045. Remove execute of drbd.service. +- Add patch service-mod.patch + +------------------------------------------------------------------- +Wed Aug 19 09:00:49 UTC 2015 - nwang@suse.com + +- Fate#317940. Support zeroout/discard instead of zap-devices +- Add patch zeroout-discard-devices.patch +- Remove zap-devices-xml.patch and zap-devices.patch + +------------------------------------------------------------------- +Thu Jul 23 02:28:37 UTC 2015 - nwang@suse.com + +- Add Patch zap-devices-xml.patch and zap-devices.patch + for user space entrance to zap-devices of new-current-uuid. +- Patch fix-libdir-in-Makefile.patch + +------------------------------------------------------------------- +Fri Apr 17 06:59:04 UTC 2015 - nwang@suse.com + +- Upgrade to released v8.9.2 for Fate#317940 + * change systemd unit file: basically just call the init script + * make some previously hardcoded timeouts configurable + * drbdadm: New command peer-device-options + * drbd 9: Move max_buffers to net_conf + * drbd 9: Log errors to syslog if stderr is not available + * init script: fixes for stacked resources + * fix regression corner cases in bitmap size calculation + * allow create-md to initialize peer-max-bio-size to 1M + * drbd 9: make transport selectable + * fix aggregating drbdsetup / drbdmeta exit statii + * some documentation fixes (content and build) + * added direct-connect command + * incompatible drbd-9 metadata format change. use: node_id as index for + peer_md instead of the bitmap_index + * drbdadm/meta/usage_cnt: ensure output is visible + * drbdsetup: fix arguments for all commands expecting a peer_device + * exit codes: redefine E_USAGE to 1 (not 3) + * some build changes + * init script: on start, first try to load the module + * drbdsetup events2: Improve how timestamps are assigned + * udev rules (symlinks in /dev/by-res and by-disk) got fixed + * Fixed upper limit for drbd-8.4 activity log entries + * many fixes to drbdadm adjust and proxy commands for drbd-9 + * rhcs_fence: Do not invoke fence agents in parallel, rewrite in bash + * drbdsetup events2 is now also available in drbd-8.4 (backported from + drbd-9) + * reorganized the repository have common code for drbd-9, drbd-8.4 + and drbd-8.3 only once + * Fix drbd.ocf for resources without volume 0 + +------------------------------------------------------------------- +Wed Feb 18 09:16:33 UTC 2015 - rgoldwyn@suse.com + +- Upgrade to v8.9.2rc2 with _service file for latest git + +------------------------------------------------------------------- +Wed Dec 17 09:16:21 UTC 2014 - lwang@suse.com + +- modify spec to set %attr(700,root,root) to %{_sysconfdir}/xen explicitly + to avoid mismatch with xen-tools/xen-xend-tools. + +------------------------------------------------------------------- +Fri Nov 21 07:11:22 UTC 2014 - lwang@suse.com + +- add to drbd-utils.spec + Obsoletes: drbd < 8.4.5 + +------------------------------------------------------------------- +Fri Nov 7 13:33:42 UTC 2014 - lwang@suse.com + +- Delete requires for drbd-kmp for drbd driver is built in kernel + since 8.4.5 + +------------------------------------------------------------------- +Sat Oct 11 10:13:33 UTC 2014 - lwang@suse.com + +- update to drbd-utils-8.9.1 +- drbd-utils-8.9.1 + * add DRBD systemd service + * new configuration options socket-check-timeout and csums-after-crash-only + * update xen block-drbd helper: allow for type "phy" + * update udev rules and move from /etc/ to /lib/ + * fix various regressions/fallout from the kernel/userland package split, + re-add scripts drbddisk and drbdupper, + re-add "become-on-primary" feature to init script + * crm-fence-peer.sh: improve detection of "clean down" + * updated fencing scripts stonith_admin-fence-peer.sh and rhcs_fence + * improved "proxy" configuration section parsing + * added manpage for drbd-overview, minor review of man pages + * build: various changes in configure.ac, makefiles, debian/* and spec file +- Upstream version cs: 87039e4993dc682232ec6365900ace657e060c73 +- Delete patch: + add_phy_to_block-drbd.diff: included in upstream latest version + +------------------------------------------------------------------- +Fri Jul 11 01:53:22 UTC 2014 - lwang@suse.com + +- created drbd-utils-8.9.0 (drbd tools ) + (since 8.4.5 drbd only includes kernel space source) +- drbd-utils-8.9.0 + * Initial release of unified drbd-utils + * Supports drbd drivers 8.3, 8.4 and 9.0 + * Ships with man page links defaulting to 8.4 + * Fixed offline resizing in drbdmeta; A regression that causes + data loss, since meta-data was written with wrong offset. + The regression was introduced with 8.4.3 +- Upstream version cs: 79677f478d5b0b9bf6ee23cd7f97bc7ca6b99929 +- drbd-utils-8.9.0 not support congfigure device name any longer + del: fix-udev-for-drbd-start-timeout.patch + +------------------------------------------------------------------- + +- modify drbd.rules by removing NAME and adding SYMLINK in case that + configuration has a device name diffrent from kernel node (bnc#878119) + add: fix-udev-for-drbd-start-timeout.patch + +------------------------------------------------------------------- +Tue May 20 09:13:32 UTC 2014 - lmb@suse.com + +- Packages drbd-xen, drbd-utils, drbd-bash-completion, and + drbd-pacemaker were merged into drbd (bnc#878793) + +------------------------------------------------------------------- +Mon Mar 31 21:44:23 UTC 2014 - rgoldwyn@suse.com + +- Add Module.supported and preamble (bnc#871132) + +------------------------------------------------------------------- +Thu Mar 27 03:06:03 UTC 2014 - xli@suse.com + +- Update to 8.4.4.7 +- fix potential BUG_ON in mempool_alloc for older kernels (<2.6.23) +- fix cornercase of resync finished detection +- fix drbd_ldev_destroy to run exactly once and in worker context +- fix spurious detach/disconnect: don't announce WRITE_SAME +- fix NULL pointer deref in blk_add_request_payload + (DISCARD/TRIM handling in sd) +- fix regression: potential NULL pointer dereference +- fix regression: potential list corruption +- fix regression: potential deadlock in adm functions (drbdsetup) +- fix regression: /sbin vs /usr/sbin in scripts +- fix race stopping the worker thread +- linux 3.13 compatibility +- improve adaptive resync controler +- reduce bitmap IO during resync +- allow write-ordering policy to be bumped up again +- trigger tcp_flush_pending_frames() for PING/PING_ACK +- new sysfs oldest_requests attribute (may be moved to debugfs) +- fix potential segfault in drbdadm adjust +- drbdsetup improvements: fix socket buffers; detect modprobe failure +- Upstream version cs: 3c1f46cb19993f98b22fdf7e18958c21ad75176d + +------------------------------------------------------------------- +Tue Mar 4 00:18:04 UTC 2014 - mlatimer@suse.com + +- Handle drbd devices when presented as phy devices by xenstore with + libxl (bnc#865682) + +------------------------------------------------------------------- +Mon Oct 14 09:27:25 UTC 2013 - lmb@suse.com + +- Update to official 8.4.4 +- drbd: evaluate disk and network timeout on different requests +- drbd: Fix a hole in the challange-response connection authentication +- drbd: always implicitly close last epoch when idle +- drbd: add back some fairness to AL transactions +- drbd: keep max-bio size during detach/attach on disconnected primary +- drbd: fix a race between start_resync and send_and_submit +- drbd: fix deadlock in discard fallback code +- Build drbd KMPs. + +------------------------------------------------------------------- +Thu Oct 10 14:04:56 UTC 2013 - lmb@suse.com + +- Update to 8.4.4rc2 +- fix potential deadlock when concurrently fencing and establishing a + connection +- fix potential distributed deadlock during verify or resync +- fix decoding of bitmap vli rle for device sizes > 64 TB +- fix for deadlock when using automatic split-brain-recovery +- only fail empty flushes if no good data is reachable +- avoid to shrink max_bio_size due to peer re-configuration +- fix resume-io after reconnect with broken fence-peer handler +- crm-fence-peer: less cib polling, peer-alive detection using crmadmin, + and other improvements +- OCF RA: avoid too tight pacemaker driven recovery loop on failed + promote, implement adjust_master_score parameter +- fix too large bursts for very slow resync rates +- don't let application IO throttle resync to a stall +- Fixed attaching to disks with fixed size external meta-data (This + regressions was introduced with 8.4.3) +- Fixed a crash when the connection broke at a very exact point in time + while a graceful disconnect executes +- Support for REQ_DISCARD +- Allow parallel promote/demote +- Allow online changing of al-stripes and al-stripe-size with the resize + command +- drbdadm adjust now deals with IP-address changes correctly +- Align the internal object model with drbd-9.0 (away from drbd-8.3) +- New drbd-proxy option "bwlimit"; allow proxy options on host level +- Compiles on Linux v3.10 + +------------------------------------------------------------------- +Wed Sep 18 09:56:22 UTC 2013 - lmb@suse.com + +- Update drbd version string in specfile so that a future 8.4.4 check-in + will be considered newer than 8.4.4rc1. +- Clean-up specfile based on spec-cleaner + +------------------------------------------------------------------- +Mon Sep 16 11:22:46 UTC 2013 - lmb@suse.com + +- Update to drbd 8.4.4rc1 +- Disable heartbeat support (heartbeat no longer ships on openSUSE) +- fix decoding of bitmap vli rle for device sizes > 64 TB +- fix for deadlock when using automatic split-brain-recovery +- only fail empty flushes if no good data is reachable +- avoid to shrink max_bio_size due to peer re-configuration +- fix resume-io after reconnect with broken fence-peer handler +- fencing script improvements +- Fixed attaching to disks with fixed size external meta-data (This + regressions was introduced with 8.4.3) +- Allow online changing of al-stripes and al-stripe-size with the resize + command +- drbdadm adjust now deals with IP-address changes correctly +- Align the internal object model with drbd-9.0 (away from drbd-8.3) +- Do not end up in Unconnected state if the connection breaks at a + certain point during the handshake (was introduced with 8.3.12) +- Closed a race condition between promoting and connection handshake, + that could lead to an inconsistent view of the peer's UUIDS +- Fixed a race condition that could lead to a full sync, if connection + breaks at a certain point while starting a regular resync +- Fixed crm-fence-peer.sh for pacemaker 1.1.8 +- Fixed a list corruption for read requests that complete with an error + after they were aborted +- Fixed a kernel panic if the device size was an exact multiple of + 128MiB +- Fixed a potential memory allocation during deadlock online resize +- Improve the handling of read-errors: Make sure that sectors that had a + read error are overwritten with data from the peer on the next resync +- Expose the data-generation-uuids through /sys/block/drbdXX/drbd/ +- The new flag --peer-max-bio-size for drbdmeta create-md is of use if + you plan to use the device for long time without peer +- Fixed a potential protocol error and resulting disconnect/reconnect, + when a disk fails on the secondary node. (Introduced with 8.4.2) +- Do not fail empty flushed on diskless, primary node +- Fixed calculation of master scores for single volume and unconfigured + resources in the drbd.ocf RA +- When the connection breaks during a grace full disconnect DRBD failed + to call the eventually configured fence-peer handler. Fixed. +- Obey md-barrier setting when changed via the disk-options command +- Non blocking queuing of AL-updates; This change significantly improves + the number of IOPs in case the workload does not fit into the + configured AL size. (Backport from drbd-9) +- New options for drbdmeta create-md --al-stripes and --al-stripe-size + to create a larger and striped AL +- Fixed drbdadm adjust of max-bio-bvecs +- Fixed a memory leak of 336 byte per attach/detach cycle +- Fix a potential null-pointer deference when configuring invalid resync + after dependencies +- Fixed IO resuming after connection was established before fence peer + handler returned +- Fixed an issue in the state engine that could cause state lockup with + multiple volumes +- Write all pages of the bitmap if it gets moved during an online resize + operation. (This issue was introduced with 8.3.10) +- Fixed a race condition could cause DRBD to go through a NetworkFailure + state during disconnect +- Fixed a race condition in the disconnect code path that could lead to + a BUG() (introduced with 8.4.0) +- Fixed a write ordering problem on SyncTarget nodes for a write to a + block that gets resynced at the same time. The bug can only be + triggered with a device that has a firmware that actually reorders + writes to the same block (merged from 8.3.13) +- Fixed a potential deadlock during restart of conflicting writes +- Disable the write ordering method "barrier" by default, since it is + not possible for a driver to find out if it works reliably since + 2.6.36 +- All fixes that went into 8.3.13 +- Removed a null pointer access when using on-congestion policy on a + diskless device +- In case of a graceful detach under IO load, wait for the outstanding + IO. (As opposed to aborting IOs as a forcefully detach does) +- Reinstate disabling AL updates with invalidate-remote (8.4.0 + regression) +- Reinstate the 'disk-barrier no', 'disk-flushes no', and 'disk-drain + no' switches (8.4.0 regression) +- Backported the request code from DRBD-9. Improves handling of many + corner cases. +- Support FLUSH/FUA bio flags +- Made the establishing of connections faster +- New option 'al-updates no' to disable writing transactions into the +- activity log. It is use full if you prefer a full sync after a primary + crash, for improved performance of a spread out random write work load +- Expose the data generation identifies via sysfs +- "--stop" option for online verify to specify a stop sector +- Fixed a bug that might cause in kernel list corruption triggered by + simultaneous IO on multiple volumes in a single resource +- Fixed a bug that might cause a kernel OOPS in the worker thread while + the receiver tied to establish a connection (drbd-8.4.0 regression) +- Fixed an issue in the receiver that could cause connection triggered + by simultaneous IO on multiple volumes in a single resource +- Consider the discard-my-data flag for all volumes +- Fixed attaching to backing devices that do not support + barriers/flushes, when barriers/flushes are not disabled by the + configuration. (drbd-8.4.0 regression) +- Fixed a rare compatibility issue with DRBD's older than 8.3.7 when + negotiating the bio_size +- Fixed a rare race condition where an empty resync could stall with if + pause/unpause events happen in parallel +- Made the re-establishing of connections quicker, if it got a broken + pipe once. Previously there was a bug in the code caused it to waste + the first successful established connection after a broken pipe event. +- crm-fence-peer.sh: Can now deal with multiple DRBD instances being in + a master/slave group +- Optional load balancing for read requests: new keyword "read-balance" + +------------------------------------------------------------------- +Mon May 13 10:44:16 CEST 2013 - ohering@suse.de + +- Make /etc/xen mode 0700 to protect vnc passwords. + +------------------------------------------------------------------- +Tue Jul 10 07:51:21 UTC 2012 - tserong@suse.com + +- Don't use /var/lock/subsys in init script (bnc#714643) + +------------------------------------------------------------------- +Fri Dec 16 03:45:16 UTC 2011 - tserong@suse.com + +- update to 8.3.11 + * Added missing spinlock in compressed bitmap receive (regression introduced + in 8.3.10, could lead to "negative" out-of-sync stats and non-terminating + resync when "use-rle" is enabled) + * Fixed handling of read errors during online verify runs + * Fixes for possible distributed deadlocks during online verify and + checksum based resync processes + * Fixed handling of IO errors with an on-io-error=pass-on policy; the + disk state goes to inconsistent + * Fixed the behavior in case ping-timeout and ping-int are set to the + same value + * Fix for connecting on high latency network links + * Fixed wrong connection drops ("PingAck did not arrive in time") with + asymmetrically congested networks + * Fixed state transitions if fence-peer handler returns after connection was + established again + * Fixes to drbdmeta and drbdsetup for the > 16TByte support + * Made negotiation of max_bio_size conservative instead of optimistic + * Network timeouts for mirrored write requests are now always enforced, + no longer only when the socket is congested + +------------------------------------------------------------------- +Sun Sep 18 17:17:12 UTC 2011 - jengelh@medozas.de + +- Remove redundant tags/sections from specfile + (cf. packaging guidelines) + +------------------------------------------------------------------- +Mon Feb 21 14:10:49 UTC 2011 - ro@novell.com + +- update to 8.3.10 + * Fixed a subtle performance degradation that might affected synchronous + work loads (databases) (introduced in 8.3.9) + * Fixed a locking regression (introduced in 8.3.9) + * Fixed on-no-data-accessible for Primary, SyncTarget nodes (Bugz 332) + * Progress bar for online verify + * Optionally use the resync speed control loop code for the online verify + process as well + * Added code to detect false positives when using data-integrity-alg + * New config option on-congestion and new connection states ahead and behind + * Reduced IO latencies during resync, bitmap exchange and temporal states + * Only build a single kernel module package on distributions that provide + the infrastructure to have kernel version independent modules + * On 64bit architectures allow device sizes up to one petabyte + +- update to 8.3.9 + * Fix for possible deadlock on IO error during resync + * Fixed a race condition between adding and removing network configuration. + Lead to a BUG_ON() when triggered. + * Fixed spurious full syncs that could happen after an empty resync and + concurrent connection loss. + * Fixed spurious full syncs that happened when connection got lost while + one node was in WFSyncUUID state (Bugz 318) + * Fixed a race in the meta-data update code path, that could lead to forgotten + updates to the meta-data. That in fact could lead to unexpected behavior + at the next connect + * Fixed potential deadlock on detach + * Fixed potential data divergence after multiple failures + * Implicitly create unconfigured devices which are referenced in sync-after + dependencies. + * OCF RA now also works with pacemaker 1.1 + * Allow BIO sizes of up to 128kByte. Note: In case drbd-proxy is used, at least + version 1.0.16 of drbd-proxy is required. + * New configuration keyword on-no-data-accessible. Possible values + io-error, and suspend-io. The default is "io-error", which matches the + previous behavior. + * If the fencing policy is set to resource-and-stonith, the primary node + will creates the new current UUID _after_ the fencing handler + returned. (Before it did immediately) + * Rewrote the resync speed control loop code. New configuration parameters + c-plan-ahead, c-fill-target, c-delay-target, c-max-rate, c-min-rate. + * Disable activity log updates when all blocks of an unconnected device is + are out of sync. That can be activated by using "invalidate-remote" on an + unconnected primary. + * Improved IPv6 support: link local addresses + * Improved resync speed display in /proc/drbd + +------------------------------------------------------------------- +Fri Oct 22 00:40:04 CEST 2010 - ro@suse.de + +- update to 8.3.8.1 + * Revert delay probes, they could potentially lead to stalled resync. + Feature is being re-implemented differently + * DRBD ocf resource agent now treats hostnames case insensitive + +- update to 8.3.8 + * Do not expose failed local READs to upper layers, regression introduced + in 8.3.3 + * Fixed support for devices with 4k hard sector size (again) + * Fixed a potential Oops in the disconnect code + * Fixed a race condition that could cause DRBD to consider the peers disk + as Inconstent after resync instead of UpToDate (Bugz 271) + * Fixed a reace condition that could cause DRBD to consider the peers disk + as Outdated instead of Inconsistent during resync (Bugz 277) + * Disallow to start a resync with invalidate / invalidate-remote when the + source disk is not UpToDate + * Forcing primary works now also for Consistent, not only for Outdated and + Inconsistent (Bugz 266) + * Improved robustness against corrupt or malicous sector addresses when + receiving data + * Added the initial-split-brain, it gets called also if the split-brain gets + automatically resolved + * Added the --assume-clean option for the resize command, it causes drbd to + not resync the new storage after an online grow operation + * drbdadm: Do not segfault if stacked-on-top-of refers to an undefined res + * drbdadm: Do not consider configs with invalid after statements as invalid + * drbdadm: Do not segfault if the peer's proxy section is missing + * drbdadm: Allow nullglob in include statement + * drbdadm: Fixed the use of waitpid + * init script: fix insserv headers (Debian 576901) + * Gave the receiving code the ability to use multiple BIOs for writing a + single data packet; now DRBD works with BIOs up to 32kByte also on LVM + devices; from now on the use_bmbv config option does nothing + * New command check-resize, that allows DRBD to detect offline resizing + and to move internal meta-data accordingly + * Added a control loop, that allows DRBD to find auto tune the resync + speed, on connections with large queues (drbd-proxy) + * --dry-run option for connect; disconnects after sync handshake + * --overwrite-data-of-peer got an alias named --force + * Improvements to crm-fence-peer + * Fixed option parsing and stacking in snapshot-resync-target-lvm.sh + * Compiles on 2.6.33 and 2.6.34 + +- removed patches: + 64bit-fixes.diff (upstream/obsolete) + +------------------------------------------------------------------- +Fri Jun 25 05:39:10 UTC 2010 - tserong@novell.com + +- Include Linbit RA + +------------------------------------------------------------------- +Sun Apr 11 14:29:39 CEST 2010 - dmueller@suse.de + +- remove KMP subpackage, the kernel modules are part of the kernel + and don't build out of tree anymore + +- update to 8.3.7: + * Lots of fixes to the new RPM packaging + * Lots of fixes to the autoconfig stuff + * Following the rename of CONFIG_LBD to CONFIG_LBDAF + * Silenced an assert. Could trigger after changing write ordering (Bugz 261) + * Fixed a race condition between detach and ongoing IO. Very hard to + trigger, caused an OOPS in make_request/drbd_make_request. (Bugz 262) + * Fixed a regression in the resync handshake code introduced before 8.3.3. + That bug causes DRBD to block during the initial handshake when a partial + resync is not possible but a full resync is necessary. Happens very rarely. + (Bugz 260) + * Do not drop into StandAlone mode when connection is lost during authentication + * Corrected a null test in the authentication code, found by conccinelle, + thanks to upstream integration. The chance to trigger that was probably 10^-9. + * crm-fence-peer.sh is now also usable if DRBD is managed from the xen block + helper script + * Fixes to the init script's dependencies + * Backported cleanups that where contributed to the in kernel DRBD + * Allow online resizing of disconnected devices, new option to drbdsetup + drbdsetup /dev/drbdX resize --assume-peer-has-space + * Allow multiple after options in the syncer section for stacked setups + * Correctly process relative paths in include statements in drbd.conf + * New option (-t) for drbdadm to test syntax of config snippets + * Following Linux upstream changes 2.6.32 (SHASH and in_flight issues) + * New /etc/drbd.conf example that suggests the use of /etc/drbd.d/xxx.res + * Fixed a regression introduced shortly before 8.3.3, which might + case a deadlock in DRBD's disconnect code path. (Bugz 258) + * Fixed drbdsetup X resume-io which is needed for the recovery + from the effects of broken fence-peer scripts. (Bugz 256) + * Do not reduce master score of a current Primary on connection loss, + to avoid unnecessary migrations + * Do not display the usage count dialog for /etc/inti.d/drbd status + +------------------------------------------------------------------- +Fri Jan 8 16:54:23 CET 2010 - vuntz@opensuse.org + +- Remove unneeded glib-devel BuildRequires. + +------------------------------------------------------------------- +Wed Oct 7 19:16:37 UTC 2009 - aj@suse.de + +- update to 8.3.4: + * Support kernel 2.6.31 + * Numerous bug fixes + * Support for Infiniband via SDP (sockets direct protocol) +- Add build fix from upstream. + +------------------------------------------------------------------- +Sun Jul 19 21:51:40 CEST 2009 - coolo@novell.com + +- trying to get installation right + +------------------------------------------------------------------- +Tue Jul 14 12:13:04 CEST 2009 - teelynn19@aim.com + +- update to 8.3.2 + * For kernel 2.6.30 support - see internal changelog of source + +------------------------------------------------------------------- +Mon Apr 20 01:13:04 CEST 2009 - ro@suse.de + +- update to 8.3.1 + * Fixed drbdadm invalidate on disconnected devices (reg in 8.2.7) + * Fixed a hard to trigger spinlock deadlock when using device stacking + with the upper device having a smaller minor number than the lower device. + (Bugz 210) + * Adding a missing range check in ensure_mdev() + * Implemented a congested_fn; the kernel can keep its pdflushes running now + * Improvements the connection code for high latency links + * Fix for several potential memory leaks when allocating a device + * Use an additional meta data bit to store the fact of an old crashed primary + * Udev rule that populates /dev/drbd/by-res/ and /dev/drbd/by-disk/ + * New timeout option: outdated-wfc-timeout + * New drbdmeta option: --ignore-sanity-checks + * Include statement for drbd.conf + * Improvements to drbd-overview.pl + * Fixed snapshot-resync-target-lvm.sh to work with more than 10 devices + * Do not force a full resync after a detach on a primary node + * Compatibility with Linux 2.6.27, 2.6.28 and 2.6.29 + +- update to 8.3.0 + * Fixed 'sleep with spinlock held' in case online verify found a difference + * Fixed error code pathes in request processing. + * Fix for stack smashing in drbdmeta + * Fixed a bug that could lead to a crash when detaching/attaching + on the primary under heavy IO (Bugz 171) + * Fixed a bug in the new epoch code (introduced with 8.2.7). + Might cause crash at reconnect after connection loss during heavy IO + (Bugz 160) + * Fixed a bug in drbdsetup that could cause drbdsetup wait-connect to + miss the connection event. + * Fixed a race condition in the new barrier code. (Reordered barrier ACKs) + * Do not rely on blkdev_issue_flush() returning ENOTSUPP + * bitmap in unmapped pages = support for devices > 4TByte (was DRBD+) + * checksum based resync (was DRBD+) + * support for stacked resource (was DRBD+) + * Added support for stacked resources to the bash completion stuff + * Added missing documentation (manpages) + * Fixed drbdadm handlers for stacked resources + * Support of drbd-proxy in stacked setups + * RedHat cluster suite (rgmanager) integration scripts + * Renamed 'state' to 'role' + * More build compatibility with older vendor kernels + * Added drbd-overview.pl to the packages + +- update filelist + +------------------------------------------------------------------- +Tue Jan 13 14:16:41 CET 2009 - dgollub@suse.de + +- Add kernel-syms-rt to build requires to build SLERT KMPs + +------------------------------------------------------------------- +Wed Dec 10 13:30:00 CET 2008 - lmb@suse.de + +- Update with changes from 8a9ba53abe973301639beacc55eec569b43507e5: +- Fix buffer overflow and off-by-one errors in drbd user-space token + parser (bnc#450883). +- Fix resizing of devices. +- Fix a NULL pointer dereference in barrier handling. +- Handle failing request better. +- Race in UUID synchronization. +- Fix a call to a blocking function from within a spinlock. +- drbd-optflags.patch: removed, is now upstream. + +------------------------------------------------------------------- +Fri Nov 21 14:00:00 CET 2008 - lmb@suse.de + +- Update from 8.2.7-rc1 to 8.2.7 proper. +- Endianness fixes. +- Handle out-of-sequence barrier acks. +- Allow DRBD to user other cn_idx values in case our default value is + already taken. +- Although Primary/Diskless/StandAlone is invalid it is not unconfigured +- become UpToDate on both after detach-attach on a connected secondary + device pair +- 2.6.28 compatibility (needed for SLE11 kernel) +- Bugfixes to write barrier handling. + +------------------------------------------------------------------- +Mon Oct 27 14:00:00 CET 2008 - lmb@suse.de + +- Include fixes from upstream + (0e87a13b63e2ef87af6cfcc0d875721c53f37ed9). +- Fixed possible Oops on connection loss during sync handshake. +- Latency improvements. +- Improved barrier support. + +------------------------------------------------------------------- +Thu Sep 4 12:13:27 CEST 2008 - lmb@suse.de + +- Imported some changes from upstream, including: +- Made it to compile on Linux-2.6.26 +- Fixed online resizing if there is application IO on the fly when the + resize is triggered. +- Fixed online resizing if it is triggered from the secondary node. +- Fixed a possible deadlock in case "become-primary-on-both" is used, and + a resync starts +- Fixed the invocation of the pri-on-incon-degr handler +- Fixed the exit codes of drbdsetup +- sock_create_lite() to avoid a socket->sk leak +- Auto-tune socket buffers if sndbuf-size is set to zero + +------------------------------------------------------------------- +Mon Aug 18 18:07:48 CEST 2008 - mrueckert@suse.de + +- remove outdated options in the fillup_and_insserv call + +------------------------------------------------------------------- +Mon Aug 18 11:26:43 CEST 2008 - schwab@suse.de + +- Fix name of completions file. + +------------------------------------------------------------------- +Tue Jul 15 09:41:31 CEST 2008 - lmb@suse.de + +- Update to 8.2.6 and include all bugfixes from upstream. +- Fix loading of module (bnc#403731). +- Include bash completion for drbdadm. +- Added the before-resync-target handler. +- Fixed the out-of-sync handler. +- Added the max-bio-bvecs option to workaround issues in a stack of + DRBD/LVM/Xen. +- Fix online resizing in case if triggered from secondary. +- Includes bugfixes from 8.0.11 -> 8.0.12 branch. + +------------------------------------------------------------------- +Wed Jun 4 12:04:56 CEST 2008 - ro@suse.de + +- buildreq xen-tools only on x86,x86_64 + +------------------------------------------------------------------- +Tue Jun 3 21:57:39 CEST 2008 - coolo@suse.de + +- avoid packaging a directory of xen-tools with different permissions + +------------------------------------------------------------------- +Tue Apr 15 15:03:25 CEST 2008 - lmb@suse.de + +- Update to 8.2.5 (FATE#302403) +- Include online-verify + various fixes to it. +- Fix races between online-verify and application writes. +- Fixed data-integrity-alg features. +- Improved latency. +- Full support for migration of meta-data from 0.7 -> 0.8. +- Fix some more races, bugs, and memory leaks. + +------------------------------------------------------------------- +Wed Dec 5 15:03:58 CET 2007 - ro@suse.de + +- hack to compile with 2.6.24 + +------------------------------------------------------------------- +Tue Sep 18 12:07:34 CEST 2007 - ro@suse.de + +- do really build a module + +------------------------------------------------------------------- +Mon Sep 17 14:41:31 CEST 2007 - lmb@suse.de + +- Update to drbd 8.0.6 for kernel-compatibility (310187) + +------------------------------------------------------------------- +Wed Apr 4 22:13:20 CEST 2007 - lrupp@suse.de + +- added module-init-tools to BuildRequires + +------------------------------------------------------------------- +Fri Mar 30 15:20:11 CEST 2007 - rguenther@suse.de + +- add flex BuildRequires +- add /etc/modprobe.d directory + +------------------------------------------------------------------- +Fri Mar 30 02:26:42 CEST 2007 - ro@suse.de + +- added bison to buildreq + +------------------------------------------------------------------- +Mon Jan 15 09:43:01 CET 2007 - lmb@suse.de + +- Update to 0.7.23 for Linux kernels >2.6.19. + +------------------------------------------------------------------- +Mon Oct 30 23:33:13 CET 2006 - lmb@suse.de + +- Update to the officially released 0.7.22 version. +- Implement "freeze_io" feature. +- convert-MODULE_PARM.diff: drop unneeded patch. + +------------------------------------------------------------------- +Fri Oct 6 14:03:21 CEST 2006 - lmb@suse.de + +- Update to 0.7.22: + - In protocol A and B, on connection loss, drbd could "forget" to set + certain areas out of sync. + - fix races between failure in drbd_send_dblock and concurrently + running tl_clear. + - fix potential access-afer-free in drbd_dio_end. + - fix possible list corruption respective resulting deadlock in + receive_DataRequest. + - improved the drbd_thread_stop / start code. + +------------------------------------------------------------------- +Mon Aug 14 21:44:10 CEST 2006 - lmb@suse.de + +- Update to 0.7.21. + * Fixed the "syncer stalled" after reconnect symptom. + * Fixed the "stalled in WFParams" after reconnect symptom. The cause + of this bug was actually a misuse of the data socket. + * Allow to set the uplug_watermark to 1, only usefull for very strange + cases. + * The GC comparison code failed to start a resync in case the two + cluster node failed simultaniously (common power failure). + * Fixed DRBD's code to start kernel threads to work on 2.6.17 also. + * IOCTL return codes fixed for 32bit userland - 64 bit kernel + setups. + * New config option "unplug-watermark". + * Released the drbd_alloc_ee() / drbd_free_ee() implementation from + the DRBD+ branch to the main branch. + * Fixed a bug where lc_del() left a list poison in an LRU chache's + hash table. The only way to trigger this bug was: + up (>>200M), primary, mkfs, resize to 200M, down, up + * DRBD now propagates the backing storage's read ahead properties + to upper layers. With devices that read very fast, this is + important. + * GFP_KERNEL was changed to GFP_NOIO in a few places, to make it + more save against deadlocks in the memory subsystem. + +------------------------------------------------------------------- +Thu May 4 17:10:38 CEST 2006 - lmb@suse.de + +- Import fixes from 0.7.18: +- Under high memory pressure it was possible to hit a deadlock on a + kmalloc(). Changed the GFP mask, it is no longer possible to deadlock + it with memory pressure. +- With very unlucky network timing during connect DRBD falls into a + connect / drop-connection loop, that as soon as DRBD is in this loop + is very stable. This is fixed now, DRBD detects this situation an + breaks out of it. +- Fix to the init-script. Now it waits until udev has created the device + nodes of _all_ resources. +- A small fix for the 32bit userland 64bit kernel people, running older + kernels. +- Improved handling of IO errors during initial read in of the activity + log. + +------------------------------------------------------------------- +Sun Apr 2 20:01:34 CEST 2006 - agruen@suse.de + +- convert-MODULE_PARM.diff: Convert from the obsolete MODULE_PARM + to the new module_param. + +------------------------------------------------------------------- +Mon Mar 27 17:43:40 CEST 2006 - lmb@suse.de + +- Fix memory allocation flags for the activity log (GFP_KERNEL -> + GFP_NOIO) to avoid possible deadlock. + +------------------------------------------------------------------- +Mon Mar 6 17:09:05 CET 2006 - lmb@suse.de + +- Import upstream fixes from 0.7.17: + - There was a bug that could cause the activity log to be not applied + after a primary crash, when an other size than 127 elements was + configured. + - There was a bug in the activity log code, that could cause that the + latest update to the AL is omitted at recovery time. + - The "Marked additional XXKB as out-of-synced based on AL." message + showed one one eighth of the real amount. + +------------------------------------------------------------------- +Thu Feb 16 16:41:19 CET 2006 - lmb@suse.de + +- Update to 0.7.16, new fixes: + - DRBD no longer shrinks an consistent device if it gets connected to + an smaller peer or attached to a smaller disk. + - There was a bug related to the degr-wcf-timeout config option, it was + never used in recent DRBD releases. Fixed. + +------------------------------------------------------------------- +Fri Feb 3 11:59:29 CET 2006 - agruen@suse.de + +- drbd.spec: Replace %arch with %_target_cpu. + +------------------------------------------------------------------- +Thu Feb 2 12:04:52 CET 2006 - ro@suse.de + +- added KMP subpackage (required with suse_kernel_module_package) + +------------------------------------------------------------------- +Tue Jan 31 15:04:10 CET 2006 - lmb@suse.de + +- Change km_drbd to a KMP. +- Import fix to deal with serialized recursive calls to + generic_make_request() and avoid a deadlock (SVN r2056). + +------------------------------------------------------------------- +Thu Jan 26 12:25:02 CET 2006 - lmb@suse.de + +- Compile fix for 2.6.16-rc1. + +------------------------------------------------------------------- +Wed Jan 25 21:35:35 CET 2006 - mls@suse.de + +- converted neededforbuild to BuildRequires + +------------------------------------------------------------------- +Mon Jan 23 17:57:02 CET 2006 - lmb@suse.de + +- Import some updated documentation. + +------------------------------------------------------------------- +Tue Dec 20 14:14:54 CET 2005 - lmb@suse.de + +- Update to 0.7.15. + +------------------------------------------------------------------- +Thu Dec 1 15:57:58 CET 2005 - lmb@suse.de + +- Update to 0.7.14/SVN. + +------------------------------------------------------------------- +Thu Sep 1 12:18:25 CEST 2005 - lmb@suse.de + +- Switch to stable version 0.7.13. + +------------------------------------------------------------------- +Thu Jun 30 09:43:19 CEST 2005 - meissner@suse.de + +- use RPM_OPT_FLAGS correctly. + +------------------------------------------------------------------- +Mon Feb 21 18:08:00 CET 2005 - lmb@suse.de + +- Update to upstream 0.8_pre1 (SVN 1763). + +------------------------------------------------------------------- +Wed Feb 2 18:42:01 CET 2005 - lmb@suse.de + +- Update to upstream 0.7.10 (1754). + +------------------------------------------------------------------- +Fri Jan 14 01:32:35 CET 2005 - ro@suse.de + +- fix typo in specfile + +------------------------------------------------------------------- +Wed Dec 1 14:51:29 CET 2004 - lmb@suse.de + +- Update to upstream version 0.7.6. + +------------------------------------------------------------------- +Mon Sep 20 15:54:07 CEST 2004 - lmb@suse.de + +- Merge fixes from SLES9 SP1 with STABLE. + +------------------------------------------------------------------- +Fri Sep 3 15:36:21 CEST 2004 - lmb@suse.de + +- Realign with upstream. + +------------------------------------------------------------------- +Fri Aug 27 12:41:43 CEST 2004 - lmb@suse.de + +- Allow invalidate if cstate to +- changed neededforbuild to + +------------------------------------------------------------------- +Wed Oct 2 14:23:53 CEST 2002 - jg@suse.de + +- Updated to 0.6.1-pre17, changes: + - Merged syncer speedup code by Lars G. Ellenberg + - Merged most of Lars' modifications to the ioctl interface + - Marged the bug-fixes from the lge-branch + - Implemented the TimoutCounter in the meta-data code. + - Fixed a bug that could cause lockup of the primary node on + SMP systems using a SCSI device for DRBD, it always happened + during resynchronisation. (!) +- Checking /.buildenv now in buildsystem instead of /etc/*-release + +------------------------------------------------------------------- +Tue Sep 3 18:18:48 CEST 2002 - jg@suse.de + +- Init script fixes: + - Removed abortion on non existing block devices (may + break LVM setups) + - Sourcing . /etc/rc.status earlier now + - Allowing execution via rcdrbd link + +------------------------------------------------------------------- +Mon Sep 2 22:09:22 CEST 2002 - jg@suse.de + +- Incorporated latest changes from CVS +- Using lge branch now (syncer much faster) + +------------------------------------------------------------------- +Wed Aug 21 10:32:08 CEST 2002 - jg@suse.de + +- Fixed manpage generation (should now even build on ppc64) + +------------------------------------------------------------------- +Tue Aug 20 11:17:55 CEST 2002 - jg@suse.de + +- Added PreReq tag + +------------------------------------------------------------------- +Mon Aug 19 12:07:53 CEST 2002 - kukuk@suse.de + +- fix compilation on UL + +------------------------------------------------------------------- +Tue Aug 13 15:28:49 CEST 2002 - jg@suse.de + +- Added documentation stuff again +- Modified init script to comply with LSB + +------------------------------------------------------------------- +Mon Aug 12 15:18:40 CEST 2002 - jg@suse.de + +- Updated to latest version from CVS repository +- Removed temporary documentation path from Makefile (does + not build) + +------------------------------------------------------------------- +Tue Mar 5 08:38:28 CET 2002 - jg@suse.de + +- Fixed broken specfile + +------------------------------------------------------------------- +Mon Mar 4 17:37:13 CET 2002 - jg@suse.de + +- updated to bugfix release 0.6.1pre10 + - Data-corruption bug in SyncAll fixed (was introduced in pre9) + - Fixed an OOPS in tl_check_sector() (was introduced in pre9) + - Fixed Linux-2.2.x compability (was broken in pre9) +- removed documentation patch (not needed anymore) + +------------------------------------------------------------------- +Wed Feb 20 18:14:04 CET 2002 - jg@suse.de + +- modified init script to honor inittimeout settings + +------------------------------------------------------------------- +Wed Feb 20 17:55:05 CET 2002 - jg@suse.de + +- added -include /usr/src/linux/include/linux/modversions.h + to km_drbd Makefile in case CONFIG_MODVERSIONS is set +- modified the init script to comply to LSB and to skip + the "interactive" part on boot + +------------------------------------------------------------------- +Tue Feb 12 15:47:56 CET 2002 - jg@suse.de + +- added -DMODVERSION and -D__SMP__ to km_drbd Makefile (according + to kernel configuration) + +------------------------------------------------------------------- +Fri Feb 1 00:26:06 CET 2002 - ro@suse.de + +- changed neededforbuild to + +------------------------------------------------------------------- +Tue Jan 29 18:26:07 CET 2002 - jg@suse.de + +- updated to 0.6.1-pre9 + +------------------------------------------------------------------- +Thu Dec 20 10:22:14 CET 2001 - jg@suse.de + +- replaced insserv call in specfile with respective macro + +------------------------------------------------------------------- +Wed Dec 19 21:01:42 CET 2001 - jg@suse.de + +- updated to 0.6.1-pre7 (supports now kernel 2.4) +- removed insserv call after installing +- removed fillup template +- removed some outdated documentation files + +------------------------------------------------------------------- +Fri Jul 27 17:21:10 MEST 2001 - mt@suse.de + +- fixed init script to be LSB compliant + +------------------------------------------------------------------- +Fri Jul 20 12:06:42 CEST 2001 - kukuk@suse.de + +- changed neededforbuild to +- changed neededforbuild to +- changed neededforbuild to + +------------------------------------------------------------------- +Sun Jan 14 11:01:43 CET 2001 - mt@suse.de + +- added km_drbd subpackage with drbd kernel module source + +------------------------------------------------------------------- +Fri Dec 1 14:07:17 CET 2000 - mt@suse.de + +- added mkdir $RPM_BUILD_ROOT/sbin in spec + +------------------------------------------------------------------- +Fri Dec 1 10:43:41 CET 2000 - kukuk@suse.de + +- move sbin/init.d -> etc/init.d + +------------------------------------------------------------------- +Mon Nov 27 12:45:16 CET 2000 - mt@suse.de + +- fixed link src for rcdrbd in spec file +- changed group to Applications/Clustering + +------------------------------------------------------------------- +Thu Nov 23 09:42:31 CET 2000 - mt@suse.de + +- removed heartbeat from neededforbuild + +------------------------------------------------------------------- +Wed Nov 22 13:40:05 CET 2000 - mt@suse.de + +- changed to LSB installation of run level links + +------------------------------------------------------------------- +Fri Nov 10 16:01:54 CET 2000 - mt@suse.de + +- no module build in spec - drbd module is patched into the kernel + +------------------------------------------------------------------- +Wed Nov 8 10:42:33 CET 2000 - mt@suse.de + +- new package + diff --git a/drbd-utils.rpmlintrc b/drbd-utils.rpmlintrc new file mode 100644 index 0000000..3ea50f7 --- /dev/null +++ b/drbd-utils.rpmlintrc @@ -0,0 +1 @@ +addFilter("missing-call-to-setgroups-before-setuid /usr/sbin/drbdmon") diff --git a/drbd-utils.spec b/drbd-utils.spec new file mode 100644 index 0000000..65a6c6f --- /dev/null +++ b/drbd-utils.spec @@ -0,0 +1,239 @@ +# +# spec file for package drbd-utils +# +# Copyright (c) 2023 SUSE LLC +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via https://bugs.opensuse.org/ +# + + +%define services drbd.service drbd-lvchange@.service drbd-promote@.service drbd-reconfigure-suspend-or-error@.service drbd-services@.target drbd-wait-promotable@.service drbd@.service drbd@.target ocf.ra@.service +%if 0%{?suse_version} < 1550 + # for SLEs + %define sbindir /sbin + # see bsc#1203220 & usrmerge_move_lib_to_prefix_lib.patch for %{libdir} + %define libdir /usr/lib +%else + # for opensuse + %define sbindir %{_sbindir} + %define libdir %{_prefix}/lib +%endif +%bcond_without drbdmon +# Man pages are included in the released tarball. +# Only need po4a to build man from git source code +%bcond_without prebuiltman +Name: drbd-utils +Version: 9.19.0 +Release: 0 +Summary: Distributed Replicated Block Device +License: GPL-2.0-or-later +Group: Productivity/Clustering/HA +URL: https://linbit.com/linbit-software-download-page-for-linstor-and-drbd-linux-driver/ +# tarball might be available at https://pkg.linbit.com/downloads/drbd/utils/drbd-utils-%{name}.tar.gz +Source: %{name}-%{version}.tar.gz +Source100: %{name}.rpmlintrc +# PATCH-MISSING-TAG -- See http://wiki.opensuse.org/openSUSE:Packaging_Patches_guidelines +Patch1: init-script-fixes.diff +Patch2: usrmerge_move_lib_to_prefix_lib.patch +Patch3: fence-after-pacemaker-down.patch +# PATCH-SUSE-FIX: Disable quorum in default configuration (bsc#1032142) +Patch4: 0001-Disable-quorum-in-default-configuration-bsc-1032142.patch +Patch5: move_fencing_from_disk_to_net_in_example.patch +Patch6: pie-fix.patch +Patch7: 0001-crm-fence-peer-fix-timeout-with-Pacemaker-2.1-milli-.patch +Patch8: 0002-crm-fence-peer-fix-timeout-with-Pacemaker-2.0.5-mill.patch +Patch99: rpmlint-build-error.patch + +Provides: drbd-bash-completion = %{version} +Provides: drbd-pacemaker = %{version} +Provides: drbd-udev = %{version} +Obsoletes: drbd-bash-completion < %{version} +Obsoletes: drbd-pacemaker < %{version} +Obsoletes: drbd-udev < %{version} +# drbd-utils first splict from drbd-8.4.5(only driver) +# and suse let drbd driver goes in-kernel +# Provides: drbd = 8.4.5 +# Obsoletes: drbd < 8.4.5 +%ifarch %{ix86} x86_64 +Provides: drbd-xen = %{version} +Obsoletes: drbd-xen < %{version} +%endif +BuildRequires: autoconf +BuildRequires: automake +BuildRequires: bison +BuildRequires: docbook-xsl-stylesheets +BuildRequires: flex +BuildRequires: gcc +BuildRequires: glibc-devel +BuildRequires: libxslt +BuildRequires: make +BuildRequires: pkgconfig +BuildRequires: pkgconfig(systemd) +BuildRequires: pkgconfig(udev) +%if %{with drbdmon} +BuildRequires: gcc-c++ +%endif +%if %{without prebuiltman} +BuildRequires: po4a +%endif +Provides: drbd-control +Provides: drbdsetup +BuildRoot: %{_tmppath}/%{name}-%{version}-build + +%description +Drbd is a distributed replicated block device. It mirrors a block +device over the network to another machine. Think of it as networked +raid 1. It is a building block for setting up clusters. + +%prep +%setup -q +%patch1 -p1 +%patch2 -p1 +%patch3 -p1 +%patch4 -p1 +%patch5 -p1 +%patch6 -p1 +%patch7 -p1 +%patch8 -p1 +%patch99 -p1 + +%build +export WANT_DRBD_REPRODUCIBLE_BUILD=1 +./autogen.sh +PATH=/sbin:$PATH ./configure \ + --with-udev \ + --with-distro=suse \ + --without-heartbeat \ + --with-pacemaker \ + --with-xen \ + --with-bashcompletion \ + --with-initscripttype=systemd \ + --with-systemdunitdir=%{_prefix}/lib/systemd/system \ +%if 0%{?suse_version} < 1550 + --sbindir=/sbin \ +%else + --sbindir=%{_sbindir} \ +%endif + --prefix=%{_prefix} \ + --localstatedir=%{_localstatedir} \ + --mandir=%{_mandir} \ + --sysconfdir=%{_sysconfdir} \ + --datarootdir=%{_datadir} \ + --datadir=%{_datadir} \ + --libdir=%{_prefix}/lib \ + --exec_prefix=%{_prefix}/lib \ + %{?with_drbdmon: --with-drbdmon} \ + %{?with_prebuiltman: --with-prebuiltman} \ + --with-tmpfilesdir=%{_tmpfilesdir} + +%make_build OPTFLAGS="%{optflags}" + +%install +%make_install + +%ifnarch %{ix86} x86_64 +rm -rf %{buildroot}%{_sysconfdir}/xen +%endif + +rm -rf %{buildroot}%{libdir}/drbd/crm-*fence-peer.sh # bsc#1204276 + +%pre +%service_add_pre %{services} + +%post +%tmpfiles_create %{_tmpfilesdir}/drbd.conf +%service_add_post %{services} + +#May also overlap the $MAN_LINK in documentation/v9/Makefile.in +for f in drbd drbdadm drbdmeta drbdsetup; do + ln -sf $f-9.0.8.gz %{_mandir}/man8/$f.8.gz + ln -sf $f-9.0.8.gz %{_mandir}/ja/man8/$f.8.gz +done +ln -sf drbd.conf-9.0.5.gz %{_mandir}/man5/drbd.conf.5.gz +ln -sf drbd.conf-9.0.5.gz %{_mandir}/ja/man5/drbd.conf.5.gz +%if %{with drbdmon} + ln -sf drbdmon-9.0.8.gz %{_mandir}/man8/drbdmon.8.gz + ln -sf drbdmon-9.0.8.gz %{_mandir}/ja/man8/drbdmon.8.gz +%endif + +%preun +%service_del_preun %{services} + +%postun +%service_del_postun %{services} + +%if 0%{?suse_version} < 1550 +if [ -d /lib/drbd ]; then + rm -rf /lib/drbd.rpmmoved + mv /lib/drbd /lib/drbd.rpmmoved +elif [ ! -e %{libdir}/drbd ] && [ -L /lib/drbd ]; then + rm /lib/drbd +fi +%endif + +%posttrans +%if 0%{?suse_version} < 1550 +if [ ! -e /lib/drbd ]; then + ln -sf %{libdir}/drbd /lib/drbd +fi +%endif + +%files -n drbd-utils +%config(noreplace) %{_sysconfdir}/drbd.conf +%config(noreplace) %{_sysconfdir}/drbd.d/global_common.conf +%config(noreplace) %{_sysconfdir}/multipath/conf.d/drbd.conf +%{_datadir}/bash-completion/completions/drbdadm +%{_tmpfilesdir}/drbd.conf +%{_mandir}/man5/drbd.* +%{_mandir}/man8/drbd* +%{_mandir}/man7/ocf* +%{_mandir}/man7/drbd* +%{_mandir}/ja/man5/drbd.* +%{_mandir}/ja/man8/drbd* +%license COPYING +%doc README.md +%doc ChangeLog +%doc scripts/drbd.conf.example +%dir %{_sysconfdir}/drbd.d +%dir %{_sysconfdir}/multipath +%dir %{_sysconfdir}/multipath/conf.d +%{libdir}/drbd +%{sbindir}/drbdadm +%{sbindir}/drbdsetup +%{sbindir}/drbdmeta +%if %{with drbdmon} +%{sbindir}/drbdmon +%endif +%ifarch %{ix86} x86_64 +%dir %attr(700,root,root) %{_sysconfdir}/xen +%dir %{_sysconfdir}/xen/scripts +%attr(755,root,root) %{_sysconfdir}/xen/scripts/block-drbd +%endif +%{_prefix}/lib/ocf/resource.d/linbit/drbd +%{_prefix}/lib/ocf/resource.d/linbit/drbd-attr +%{_prefix}/lib/ocf/resource.d/linbit/drbd.shellfuncs.sh +%{_udevrulesdir}/65-drbd.rules +%{_unitdir}/drbd.service +%{_unitdir}/drbd-lvchange@.service +%{_unitdir}/drbd-promote@.service +%{_unitdir}/drbd-reconfigure-suspend-or-error@.service +%{_unitdir}/drbd-services@.target +%{_unitdir}/drbd-wait-promotable@.service +%{_unitdir}/drbd@.service +%{_unitdir}/drbd@.target +%{_unitdir}/ocf.ra@.service +%dir %{_prefix}/lib/ocf +%dir %{_prefix}/lib/ocf/resource.d +%dir %{_prefix}/lib/ocf/resource.d/linbit +%dir %{_localstatedir}/lib/drbd + +%changelog diff --git a/fence-after-pacemaker-down.patch b/fence-after-pacemaker-down.patch new file mode 100644 index 0000000..97fa568 --- /dev/null +++ b/fence-after-pacemaker-down.patch @@ -0,0 +1,29 @@ +diff -Naur drbd-utils-8.9.6.orig/scripts/crm-fence-peer.sh drbd-utils-8.9.6/scripts/crm-fence-peer.sh +--- drbd-utils-8.9.6.orig/scripts/crm-fence-peer.sh 2016-03-14 15:54:38.701360775 +0800 ++++ drbd-utils-8.9.6/scripts/crm-fence-peer.sh 2016-03-14 16:00:06.333338664 +0800 +@@ -531,6 +531,25 @@ + [[ $crmd = "banned" ]] && will_fence=true + if [[ ${expected-down} = "down" && $in_ccm = "false" && $crmd != "online" ]]; then + : "pacemaker considers this as clean down" ++ elif [[ $crmd/$join/$expected = "offline/down/down" ]] ; then ++ # Check if pacemaker is simply shutdown, but membership/quorum is ++ # possibly still established (corosync2/cman) ++ # 1.1.11 will set expected="down" on a clean shutdown too ++ # Look for "shutdown" transient node attribute ++ local node_attributes=$(set +x; echo "$cib_xml" | ++ awk "//"| ++ grep -F -e " /dev/null 2> /dev/null ; then \ +diff -Naur drbd-utils-9.19.0.orig/user/v9/Makefile.in drbd-utils-9.19.0/user/v9/Makefile.in +--- drbd-utils-9.19.0.orig/user/v9/Makefile.in 2021-10-11 18:44:02.918467657 +0800 ++++ drbd-utils-9.19.0/user/v9/Makefile.in 2021-10-13 11:38:48.462390954 +0800 +@@ -143,7 +143,6 @@ + install: + install -d $(DESTDIR)$(sbindir) + install -d $(DESTDIR)$(localstatedir)/lib/drbd +- install -d $(DESTDIR)$(localstatedir)/run/drbd + install -d $(DESTDIR)$(localstatedir)/lock + if getent group haclient > /dev/null 2> /dev/null ; then \ + install -g haclient -m 4750 drbdsetup $(DESTDIR)$(sbindir) ; \ diff --git a/usrmerge_move_lib_to_prefix_lib.patch b/usrmerge_move_lib_to_prefix_lib.patch new file mode 100644 index 0000000..0ba69cf --- /dev/null +++ b/usrmerge_move_lib_to_prefix_lib.patch @@ -0,0 +1,68 @@ +https://en.opensuse.org/openSUSE:Usr_merge + +diff -Naur drbd-utils-9.19.0.orig/scripts/Makefile.in drbd-utils-9.19.0/scripts/Makefile.in +--- drbd-utils-9.19.0.orig/scripts/Makefile.in 2021-10-11 17:59:20.189282860 +0800 ++++ drbd-utils-9.19.0/scripts/Makefile.in 2021-10-11 18:01:25.988786913 +0800 +@@ -39,6 +39,7 @@ + UDEV_RULE_SUFFIX = @UDEV_RULE_SUFFIX@ + INITDIR = @INITDIR@ + LIBDIR = @prefix@/lib/@PACKAGE_TARNAME@ ++LIBSCRIPTDIR = @prefix@/lib/@PACKAGE_TARNAME@/scripts + LN_S = @LN_S@ + + # features enabled or disabled by configure +@@ -87,11 +88,11 @@ + install -d $(DESTDIR)$(systemdunitdir) + install -m 644 drbd.service $(DESTDIR)$(systemdunitdir)/ + install -m 644 $(SYSTEMD_TEMPLATES) $(DESTDIR)$(systemdunitdir)/ +- install -d $(DESTDIR)/lib/drbd/scripts +- install -m 755 drbd $(DESTDIR)/lib/drbd/scripts +- install -m 755 drbd-service-shim.sh $(DESTDIR)/lib/drbd/scripts +- install -m 755 drbd-wait-promotable.sh $(DESTDIR)/lib/drbd/scripts +- install -m 755 ocf.ra.wrapper.sh $(DESTDIR)/lib/drbd/scripts ++ install -d $(DESTDIR)$(LIBSCRIPTDIR) ++ install -m 755 drbd $(DESTDIR)$(LIBSCRIPTDIR) ++ install -m 755 drbd-service-shim.sh $(DESTDIR)$(LIBSCRIPTDIR) ++ install -m 755 drbd-wait-promotable.sh $(DESTDIR)$(LIBSCRIPTDIR) ++ install -m 755 ocf.ra.wrapper.sh $(DESTDIR)$(LIBSCRIPTDIR) + install -d $(DESTDIR)$(tmpfilesdir)/ + install -m 444 drbd.tmpfiles.conf $(DESTDIR)$(tmpfilesdir)/drbd.conf + endif +diff -Naur drbd-utils-9.19.0.orig/user/v83/Makefile.in drbd-utils-9.19.0/user/v83/Makefile.in +--- drbd-utils-9.19.0.orig/user/v83/Makefile.in 2021-10-11 17:59:20.217282750 +0800 ++++ drbd-utils-9.19.0/user/v83/Makefile.in 2021-10-11 18:07:39.967312613 +0800 +@@ -98,11 +98,11 @@ + install -d $(DESTDIR)$(localstatedir)/lock + install -d $(DESTDIR)/lib/drbd/ + if getent group haclient > /dev/null 2> /dev/null ; then \ +- install -g haclient -m 4750 drbdsetup-83 $(DESTDIR)/lib/drbd/ ; \ +- install -m 755 drbdadm-83 $(DESTDIR)/lib/drbd/ ; \ ++ install -g haclient -m 4750 drbdsetup-83 $(DESTDIR)$(LIBDIR) ; \ ++ install -m 755 drbdadm-83 $(DESTDIR)$(LIBDIR) ; \ + else \ +- install -m 755 drbdsetup-83 $(DESTDIR)/lib/drbd/ ; \ +- install -m 755 drbdadm-83 $(DESTDIR)/lib/drbd/ ; \ ++ install -m 755 drbdsetup-83 $(DESTDIR)$(LIBDIR) ; \ ++ install -m 755 drbdadm-83 $(DESTDIR)$(LIBDIR) ; \ + fi + endif + +diff -Naur drbd-utils-9.19.0.orig/user/v84/Makefile.in drbd-utils-9.19.0/user/v84/Makefile.in +--- drbd-utils-9.19.0.orig/user/v84/Makefile.in 2021-10-11 17:59:20.221282734 +0800 ++++ drbd-utils-9.19.0/user/v84/Makefile.in 2021-10-11 18:07:39.967312613 +0800 +@@ -112,11 +112,11 @@ + install -d $(DESTDIR)$(localstatedir)/lock + install -d $(DESTDIR)/lib/drbd/ + if getent group haclient > /dev/null 2> /dev/null ; then \ +- install -g haclient -m 4750 drbdsetup-84 $(DESTDIR)/lib/drbd/ ; \ +- install -m 755 drbdadm-84 $(DESTDIR)/lib/drbd/ ; \ ++ install -g haclient -m 4750 drbdsetup-84 $(DESTDIR)$(LIBDIR) ; \ ++ install -m 755 drbdadm-84 $(DESTDIR)$(LIBDIR) ; \ + else \ +- install -m 755 drbdsetup-84 $(DESTDIR)/lib/drbd/ ; \ +- install -m 755 drbdadm-84 $(DESTDIR)/lib/drbd/ ; \ ++ install -m 755 drbdsetup-84 $(DESTDIR)$(LIBDIR) ; \ ++ install -m 755 drbdadm-84 $(DESTDIR)$(LIBDIR) ; \ + fi + endif +