Accepting request 757253 from network:ha-clustering:Factory
OBS-URL: https://build.opensuse.org/request/show/757253 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/drbd?expand=0&rev=82
This commit is contained in:
commit
f89793bafe
41
drbd-fix-zero-metadata-limit-by-page-size-misaligned.patch
Normal file
41
drbd-fix-zero-metadata-limit-by-page-size-misaligned.patch
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
From 55293e6d7064c39183c3622c63ef6c2ab7162b80 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Nick Wang <nwang@suse.com>
|
||||||
|
Date: Wed, 11 Dec 2019 14:50:21 +0800
|
||||||
|
Subject: [PATCH] drbd: fix zero metadata limit by misaligned with page size
|
||||||
|
|
||||||
|
Metadata is aligned on 4k blocks, which is ok for x86 platform.
|
||||||
|
But may cause a result of zero page with PPC64LE or ARM with
|
||||||
|
64k page size.
|
||||||
|
|
||||||
|
And calculate effective bytes directly from sector size.
|
||||||
|
|
||||||
|
Error log:
|
||||||
|
...
|
||||||
|
drbd0: Device size clipped from 2097016s to 0s due to metadata size
|
||||||
|
...
|
||||||
|
|
||||||
|
Signed-off-by: Nick Wang <nwang@suse.com>
|
||||||
|
|
||||||
|
CC: drbd-dev@lists.linbit.com
|
||||||
|
|
||||||
|
---
|
||||||
|
drbd/drbd_main.c | 3 +--
|
||||||
|
1 file changed, 1 insertion(+), 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/drbd/drbd_main.c b/drbd/drbd_main.c
|
||||||
|
index a7294639..336a4177 100644
|
||||||
|
--- a/drbd/drbd_main.c
|
||||||
|
+++ b/drbd/drbd_main.c
|
||||||
|
@@ -5589,8 +5589,7 @@ u64 directly_connected_nodes(struct drbd_resource *resource, enum which_state wh
|
||||||
|
|
||||||
|
static sector_t bm_sect_to_max_capacity(unsigned int bm_max_peers, sector_t bm_sect)
|
||||||
|
{
|
||||||
|
- u64 bm_pages = bm_sect >> (PAGE_SHIFT - SECTOR_SHIFT);
|
||||||
|
- u64 bm_bytes = bm_pages << PAGE_SHIFT;
|
||||||
|
+ u64 bm_bytes = bm_sect << SECTOR_SHIFT;
|
||||||
|
u64 bm_bytes_per_peer = div_u64(bm_bytes, bm_max_peers);
|
||||||
|
u64 bm_bits_per_peer = bm_bytes_per_peer * BITS_PER_BYTE;
|
||||||
|
return BM_BIT_TO_SECT(bm_bits_per_peer);
|
||||||
|
--
|
||||||
|
2.16.4
|
||||||
|
|
11
drbd.changes
11
drbd.changes
@ -1,3 +1,14 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Dec 16 06:29:42 UTC 2019 - nick wang <nwang@suse.com>
|
||||||
|
|
||||||
|
- bsc#1158446, fix metadata limit due to 64k page size of ppc64le.
|
||||||
|
add patch drbd-fix-zero-metadata-limit-by-page-size-misaligned.patch
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Oct 17 17:48:47 UTC 2019 - Richard Brown <rbrown@suse.com>
|
||||||
|
|
||||||
|
- Remove obsolete Groups tag (fate#326485)
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Fri Oct 11 02:32:09 UTC 2019 - nick wang <nwang@suse.com>
|
Fri Oct 11 02:32:09 UTC 2019 - nick wang <nwang@suse.com>
|
||||||
|
|
||||||
|
@ -27,7 +27,6 @@ Version: 9.0.20~1+git.7dce3c8b
|
|||||||
Release: 0
|
Release: 0
|
||||||
Summary: Linux driver for the "Distributed Replicated Block Device"
|
Summary: Linux driver for the "Distributed Replicated Block Device"
|
||||||
License: GPL-2.0-or-later
|
License: GPL-2.0-or-later
|
||||||
Group: Productivity/Clustering/HA
|
|
||||||
URL: https://drbd.linbit.com/
|
URL: https://drbd.linbit.com/
|
||||||
Source: %{name}-%{version}.tar.bz2
|
Source: %{name}-%{version}.tar.bz2
|
||||||
Source1: preamble
|
Source1: preamble
|
||||||
@ -36,7 +35,8 @@ Source2: Module.supported
|
|||||||
Source3: drbd_git_revision
|
Source3: drbd_git_revision
|
||||||
Patch1: fix-resync-finished-with-syncs-have-bits-set.patch
|
Patch1: fix-resync-finished-with-syncs-have-bits-set.patch
|
||||||
Patch2: rely-on-sb-handlers.patch
|
Patch2: rely-on-sb-handlers.patch
|
||||||
Patch3: suse-coccinelle.patch
|
Patch3: drbd-fix-zero-metadata-limit-by-page-size-misaligned.patch
|
||||||
|
Patch4: suse-coccinelle.patch
|
||||||
#https://github.com/openSUSE/rpmlint-checks/blob/master/KMPPolicyCheck.py
|
#https://github.com/openSUSE/rpmlint-checks/blob/master/KMPPolicyCheck.py
|
||||||
BuildRequires: coccinelle
|
BuildRequires: coccinelle
|
||||||
BuildRequires: kernel-source
|
BuildRequires: kernel-source
|
||||||
@ -60,7 +60,6 @@ raid 1. It is a building block for setting up clusters.
|
|||||||
|
|
||||||
%package KMP
|
%package KMP
|
||||||
Summary: Kernel driver
|
Summary: Kernel driver
|
||||||
Group: Productivity/Clustering/HA
|
|
||||||
URL: http://drbd.linbit.com/
|
URL: http://drbd.linbit.com/
|
||||||
|
|
||||||
%description KMP
|
%description KMP
|
||||||
@ -73,6 +72,7 @@ installed kernel.
|
|||||||
%patch1 -p1
|
%patch1 -p1
|
||||||
%patch2 -p1
|
%patch2 -p1
|
||||||
%patch3 -p1
|
%patch3 -p1
|
||||||
|
%patch4 -p1
|
||||||
|
|
||||||
mkdir source
|
mkdir source
|
||||||
cp -a drbd/. source/. || :
|
cp -a drbd/. source/. || :
|
||||||
|
Loading…
Reference in New Issue
Block a user