diff options
author | Vijaikumar M <vmallika@redhat.com> | 2014-02-14 20:01:38 +0530 |
---|---|---|
committer | Rajesh Joseph <rjoseph@redhat.com> | 2014-03-03 22:58:23 -0800 |
commit | fe5927b6bd1ed795c9e85996e7c54c3abe36ceba (patch) | |
tree | d69e25c323a4b57c49af8555db75ff65c9690701 /xlators/mgmt/glusterd/src/glusterd-volgen.c | |
parent | 60d4f64cea4752f76b9495bdea255b51d09820ff (diff) |
glusterd/snapshot: store location for snap driven changes
Currently snapshot volfiles are stored at:
<workdir>/vols/<volname>/snaps/<snapvol>
With snap driven approach we need to store the volfiles at:
<workdir>/snaps/<snapname>/<snapvol>
Change-Id: I8efdd5db29833b2b06b64a900cbb4c9b9a5d36b6
Signed-off-by: Vijaikumar M <vmallika@redhat.com>
Signed-off-by: Sachin Pandit <spandit@redhat.com>
Reviewed-on: http://review.gluster.org/7006
Reviewed-by: Avra Sengupta <asengupt@redhat.com>
Reviewed-by: Rajesh Joseph <rjoseph@redhat.com>
Tested-by: Rajesh Joseph <rjoseph@redhat.com>
Diffstat (limited to 'xlators/mgmt/glusterd/src/glusterd-volgen.c')
-rw-r--r-- | xlators/mgmt/glusterd/src/glusterd-volgen.c | 49 |
1 files changed, 6 insertions, 43 deletions
diff --git a/xlators/mgmt/glusterd/src/glusterd-volgen.c b/xlators/mgmt/glusterd/src/glusterd-volgen.c index 2565544a6..90886dcf3 100644 --- a/xlators/mgmt/glusterd/src/glusterd-volgen.c +++ b/xlators/mgmt/glusterd/src/glusterd-volgen.c @@ -3200,8 +3200,7 @@ glusterd_generate_snap_brick_volfile (glusterd_volinfo_t *volinfo, if (vol_restore) { GLUSTERD_GET_VOLUME_DIR (path, volinfo, priv); } else { - GLUSTERD_GET_SNAP_DIR (path, volinfo, - snap_volinfo->volname, priv); + GLUSTERD_GET_VOLUME_DIR (path, snap_volinfo, priv); } snprintf (filename, PATH_MAX, "%s/%s.%s.%s.vol", @@ -3440,8 +3439,7 @@ generate_snap_client_volfiles (glusterd_volinfo_t *actual_volinfo, if (vol_restore) { GLUSTERD_GET_VOLUME_DIR (path, actual_volinfo, conf); } else { - GLUSTERD_GET_SNAP_DIR (path, actual_volinfo, - snap_volinfo->volname, conf); + GLUSTERD_GET_VOLUME_DIR (path, snap_volinfo, conf); } for (i = 0; types[i]; i++) { @@ -3730,39 +3728,6 @@ glusterd_delete_volfile (glusterd_volinfo_t *volinfo, } int -glusterd_delete_snap_volfile (glusterd_volinfo_t *volinfo, - glusterd_volinfo_t *snap_volinfo, - glusterd_brickinfo_t *brickinfo) -{ - int ret = 0; - char filename[PATH_MAX] = {0,}; - char brick[PATH_MAX] = {0, }; - char path[PATH_MAX] = {0, }; - glusterd_conf_t *priv = NULL; - - GF_ASSERT (volinfo); - GF_ASSERT (brickinfo); - GF_ASSERT (snap_volinfo); - - priv = THIS->private; - GF_ASSERT (priv); - - GLUSTERD_REMOVE_SLASH_FROM_PATH (brickinfo->path, brick); - GLUSTERD_GET_SNAP_DIR (path, volinfo, snap_volinfo->volname, priv); - - snprintf (filename, PATH_MAX, "%s/%s.%s.%s.vol", - path, snap_volinfo->volname, - brickinfo->hostname, - brick); - - ret = unlink (filename); - if (ret) - gf_log ("glusterd", GF_LOG_ERROR, "failed to delete file: %s, " - "reason: %s", filename, strerror (errno)); - return ret; -} - -int validate_shdopts (glusterd_volinfo_t *volinfo, dict_t *val_dict, char **op_errstr) @@ -4392,8 +4357,7 @@ gd_update_origin_volume (glusterd_volinfo_t *orig_vol, /* Stop the snap volume */ list_for_each_entry (brickinfo, &snap_vol->bricks, brick_list) { - ret = glusterd_snap_brick_stop (orig_vol, snap_vol, - brickinfo, _gf_false); + ret = glusterd_brick_stop (snap_vol, brickinfo, _gf_false); if (ret) { gf_log (this->name, GF_LOG_ERROR, "Failed to stop " " %s brick", brickinfo->path); @@ -4420,7 +4384,7 @@ gd_update_origin_volume (glusterd_volinfo_t *orig_vol, } /* Retrieve brick list */ - ret = glusterd_store_retrieve_bricks (orig_vol, NULL); + ret = glusterd_store_retrieve_bricks (orig_vol); if (ret) { gf_log (this->name, GF_LOG_ERROR, "Failed to retrieve " "bricks info from store for %s volume", @@ -4465,7 +4429,7 @@ gd_restore_snap_volume (glusterd_volinfo_t *orig_vol, GF_VALIDATE_OR_GOTO (this->name, orig_vol, out); GF_VALIDATE_OR_GOTO (this->name, snap_vol, out); - GLUSTERD_GET_SNAP_DIR (snappath, orig_vol, snap_vol->volname, conf); + GLUSTERD_GET_VOLUME_DIR (snappath, snap_vol, conf); GLUSTERD_GET_VOLUME_DIR (volpath, orig_vol, conf); /* As mentioned earlier the snapshot restore is done by replacing @@ -4489,8 +4453,7 @@ gd_restore_snap_volume (glusterd_volinfo_t *orig_vol, } GLUSTERD_GET_BRICK_DIR (oldfilename, orig_vol, conf); - GLUSTERD_GET_SNAP_BRICK_DIR (newfilename, orig_vol, - snap_vol->volname, conf); + GLUSTERD_GET_BRICK_DIR (newfilename, snap_vol, conf); /* Backup and restore bricks folder and it's contents */ ret = gd_backup_and_restore_snap_files (orig_vol, oldfilename, |