autobuild v3.12.2-21
Resolves: bz#1623749 bz#1630997 Signed-off-by: Milind Changire <mchangir@redhat.com>
This commit is contained in:
parent
4ac8d6a59b
commit
b6e662539f
@ -0,0 +1,86 @@
|
||||
From cb4bf2bb3721e66c28a01be6ffff54a6f8610f0e Mon Sep 17 00:00:00 2001
|
||||
From: Sanju Rakonde <srakonde@redhat.com>
|
||||
Date: Tue, 25 Sep 2018 23:36:48 +0530
|
||||
Subject: [PATCH 386/387] glusterd: make sure that brickinfo->uuid is not null
|
||||
|
||||
Problem: After an upgrade from the version where shared-brick-count
|
||||
option is not present to a version which introduced this option
|
||||
causes issue at the mount point i.e, size of the volume at mount
|
||||
point will be reduced by shared-brick-count value times.
|
||||
|
||||
Cause: shared-brick-count is equal to the number of bricks that
|
||||
are sharing the file system. gd_set_shared_brick_count() calculates
|
||||
the shared-brick-count value based on uuid of the node and fsid of
|
||||
the brick. https://review.gluster.org/#/c/glusterfs/+/19484 handles
|
||||
setting of fsid properly during an upgrade path. This patch assumed
|
||||
that when the code path is reached, brickinfo->uuid is non-null.
|
||||
But brickinfo->uuid is null for all the bricks, as the uuid is null
|
||||
https://review.gluster.org/#/c/glusterfs/+/19484 couldn't reached the
|
||||
code path to set the fsid for bricks. So, we had fsid as 0 for all
|
||||
bricks, which resulted in gd_set_shared_brick_count() to calculate
|
||||
shared-brick-count in a wrong way. i.e, the logic written in
|
||||
gd_set_shared_brick_count() didn't work as expected since fsid is 0.
|
||||
|
||||
Solution: Before control reaches the code path written by
|
||||
https://review.gluster.org/#/c/glusterfs/+/19484,
|
||||
adding a check for whether brickinfo->uuid is null and
|
||||
if brickinfo->uuid is having null value, calling
|
||||
glusterd_resolve_brick will set the brickinfo->uuid to a
|
||||
proper value. When we have proper uuid, fsid for the bricks
|
||||
will be set properly and shared-brick-count value will be
|
||||
caluculated correctly.
|
||||
|
||||
Please take a look at the bug https://bugzilla.redhat.com/show_bug.cgi?id=1632889
|
||||
for complete RCA
|
||||
|
||||
Steps followed to test the fix:
|
||||
1. Created a 2 node cluster, the cluster is running with binary
|
||||
which doesn't have shared-brick-count option
|
||||
2. Created a 2x(2+1) volume and started it
|
||||
3. Mouted the volume, checked size of volume using df
|
||||
4. Upgrade to a version where shared-brick-count is introduced
|
||||
(upgraded the nodes one by one i.e, stop the glusterd, upgrade the node
|
||||
and start the glusterd).
|
||||
5. after upgrading both the nodes, bumped up the cluster.op-version
|
||||
6. At mount point, df shows the correct size for volume.
|
||||
|
||||
updtream patch: https://review.gluster.org/#/c/glusterfs/+/21278/
|
||||
|
||||
> fixes: bz#1632889
|
||||
> Change-Id: Ib9f078aafb15e899a01086eae113270657ea916b
|
||||
> Signed-off-by: Sanju Rakonde <srakonde@redhat.com>
|
||||
|
||||
Change-Id: Ib9f078aafb15e899a01086eae113270657ea916b
|
||||
BUG: 1630997
|
||||
Signed-off-by: Sanju Rakonde <srakonde@redhat.com>
|
||||
Reviewed-on: https://code.engineering.redhat.com/gerrit/151321
|
||||
Tested-by: RHGS Build Bot <nigelb@redhat.com>
|
||||
Reviewed-by: Atin Mukherjee <amukherj@redhat.com>
|
||||
---
|
||||
xlators/mgmt/glusterd/src/glusterd-store.c | 3 ++-
|
||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/xlators/mgmt/glusterd/src/glusterd-store.c b/xlators/mgmt/glusterd/src/glusterd-store.c
|
||||
index 387e7e5..015f6c2 100644
|
||||
--- a/xlators/mgmt/glusterd/src/glusterd-store.c
|
||||
+++ b/xlators/mgmt/glusterd/src/glusterd-store.c
|
||||
@@ -2609,6 +2609,8 @@ glusterd_store_retrieve_bricks (glusterd_volinfo_t *volinfo)
|
||||
* snapshot or snapshot restored volume this would be done post
|
||||
* creating the brick mounts
|
||||
*/
|
||||
+ if (gf_uuid_is_null(brickinfo->uuid))
|
||||
+ (void)glusterd_resolve_brick(brickinfo);
|
||||
if (brickinfo->real_path[0] == '\0' && !volinfo->is_snap_volume
|
||||
&& gf_uuid_is_null (volinfo->restored_from_snap)) {
|
||||
/* By now if the brick is a local brick then it will be
|
||||
@@ -2617,7 +2619,6 @@ glusterd_store_retrieve_bricks (glusterd_volinfo_t *volinfo)
|
||||
* with MY_UUID for realpath check. Hence do not handle
|
||||
* error
|
||||
*/
|
||||
- (void)glusterd_resolve_brick (brickinfo);
|
||||
if (!gf_uuid_compare(brickinfo->uuid, MY_UUID)) {
|
||||
if (!realpath (brickinfo->path, abspath)) {
|
||||
gf_msg (this->name, GF_LOG_CRITICAL,
|
||||
--
|
||||
1.8.3.1
|
||||
|
41
0387-georep-Fix-config-set-of-monitor-status.patch
Normal file
41
0387-georep-Fix-config-set-of-monitor-status.patch
Normal file
@ -0,0 +1,41 @@
|
||||
From 8e7eb94645355024a12417aa247fa3eecc586274 Mon Sep 17 00:00:00 2001
|
||||
From: Kotresh HR <khiremat@redhat.com>
|
||||
Date: Mon, 1 Oct 2018 04:37:47 -0400
|
||||
Subject: [PATCH 387/387] georep: Fix config set of monitor status
|
||||
|
||||
The backport of [1] introduced config set of monitor
|
||||
status using new config framework available in
|
||||
upstream but is not available in downstream. Hence
|
||||
introduced the issue in downstreamwhere monitor
|
||||
failed to start workers. Fixed the same and marking
|
||||
in downstream only.
|
||||
|
||||
[1] https://code.engineering.redhat.com/149760
|
||||
|
||||
|
||||
BUG: 1623749
|
||||
Change-Id: Ia80b66137d0a3b193d178859a5d3c5fca01aa623
|
||||
Signed-off-by: Kotresh HR <khiremat@redhat.com>
|
||||
Reviewed-on: https://code.engineering.redhat.com/gerrit/151428
|
||||
Tested-by: RHGS Build Bot <nigelb@redhat.com>
|
||||
Reviewed-by: Sunil Kumar Heggodu Gopala Acharya <sheggodu@redhat.com>
|
||||
---
|
||||
geo-replication/syncdaemon/monitor.py | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/geo-replication/syncdaemon/monitor.py b/geo-replication/syncdaemon/monitor.py
|
||||
index 3451fe4..1b03d7d 100644
|
||||
--- a/geo-replication/syncdaemon/monitor.py
|
||||
+++ b/geo-replication/syncdaemon/monitor.py
|
||||
@@ -384,7 +384,7 @@ class Monitor(object):
|
||||
# It will also cause fd leaks.
|
||||
|
||||
self.lock.acquire()
|
||||
- set_monitor_status(gconf.get("state-file"), self.ST_STARTED)
|
||||
+ set_monitor_status(gconf.state_file, self.ST_STARTED)
|
||||
self.lock.release()
|
||||
for t in ta:
|
||||
t.join()
|
||||
--
|
||||
1.8.3.1
|
||||
|
@ -192,7 +192,7 @@ Release: 0.1%{?prereltag:.%{prereltag}}%{?dist}
|
||||
%else
|
||||
Name: glusterfs
|
||||
Version: 3.12.2
|
||||
Release: 20%{?dist}
|
||||
Release: 21%{?dist}
|
||||
%endif
|
||||
License: GPLv2 or LGPLv3+
|
||||
Group: System Environment/Base
|
||||
@ -650,6 +650,8 @@ Patch0382: 0382-mount-fuse-make-fuse-dumping-available-as-mount-opti.patch
|
||||
Patch0383: 0383-glusterd-bump-up-GD_OP_VERSION_MAX.patch
|
||||
Patch0384: 0384-features-uss-Use-xxh64-to-generate-gfid-instead-of-m.patch
|
||||
Patch0385: 0385-afr-fix-incorrect-reporting-of-directory-split-brain.patch
|
||||
Patch0386: 0386-glusterd-make-sure-that-brickinfo-uuid-is-not-null.patch
|
||||
Patch0387: 0387-georep-Fix-config-set-of-monitor-status.patch
|
||||
|
||||
%description
|
||||
GlusterFS is a distributed file-system capable of scaling to several
|
||||
@ -2598,6 +2600,9 @@ fi
|
||||
%endif
|
||||
|
||||
%changelog
|
||||
* Wed Oct 03 2018 Milind Changire <mchangir@redhat.com> - 3.12.2-21
|
||||
- fixes bugs bz#1623749 bz#1630997
|
||||
|
||||
* Sat Sep 22 2018 Sunil Kumar Acharya <sheggodu@redhat.com> - 3.12.2-20
|
||||
- Build respin with appropriate target version.
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user