diff options
author | Raghavendra Bhat <raghavendra@redhat.com> | 2014-04-15 17:48:16 +0530 |
---|---|---|
committer | Vijay Bellur <vbellur@redhat.com> | 2014-05-03 08:08:47 -0700 |
commit | c6f4504c12d35359986a08da222193057946570a (patch) | |
tree | cd1ed1d1aeda18f59afd5f330a398dc33badb4a4 /xlators/mgmt/glusterd/src/glusterd-store.c | |
parent | 03c9c5db7259ea83161b2bd841f93c9f0688106e (diff) |
mgmt/glusterd: handle postvalidate carefully when prevalidate fails
* Also changed the order of peers retrieval and snapshot retrieval
upon glusterd start, so that the snapshot bricks can be properly
resolved while cleaning up the snapshots.
Change-Id: I120704e4412a9cadb8d90a9b7969f2b4a1196bc5
BUG: 1061685
Signed-off-by: Raghavendra Bhat <raghavendra@redhat.com>
Reviewed-on: http://review.gluster.org/7494
Reviewed-by: Kaushal M <kaushal@redhat.com>
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Vijay Bellur <vbellur@redhat.com>
Diffstat (limited to 'xlators/mgmt/glusterd/src/glusterd-store.c')
-rw-r--r-- | xlators/mgmt/glusterd/src/glusterd-store.c | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/xlators/mgmt/glusterd/src/glusterd-store.c b/xlators/mgmt/glusterd/src/glusterd-store.c index ab635ff943f..0404e110cb5 100644 --- a/xlators/mgmt/glusterd/src/glusterd-store.c +++ b/xlators/mgmt/glusterd/src/glusterd-store.c @@ -3987,11 +3987,19 @@ glusterd_restore () if (ret) goto out; - ret = glusterd_store_retrieve_snaps (this); + ret = glusterd_store_retrieve_peers (this); if (ret) goto out; - ret = glusterd_store_retrieve_peers (this); + /* While retrieving snapshots, if the snapshot status + is not GD_SNAP_STATUS_IN_USE, then the snapshot is + cleaned up. To do that, the snap volume has to be + stopped by stopping snapshot volume's bricks. And for + that the snapshot bricks should be resolved. But without + retrieving the peers, resolving bricks will fail. So + do retrieving of snapshots after retrieving peers. + */ + ret = glusterd_store_retrieve_snaps (this); if (ret) goto out; |