diff options
author | Rajesh Joseph <rjoseph@redhat.com> | 2013-12-13 11:53:21 +0530 |
---|---|---|
committer | Rajesh Joseph <rjoseph@redhat.com> | 2014-01-15 13:53:32 +0530 |
commit | 727a63c3a5f9cab5af6089826d81df2035e1c0b6 (patch) | |
tree | 25c37ce129a65ed5af8ec9b52272bd98916fa206 /xlators/mgmt/glusterd/src/glusterd.h | |
parent | 33c45ff71cb43eec7cdcee054a6a55b7c3aaa8fb (diff) |
Snapshot: Gluster snapshot restore feature
Implemented gluster snapshot restore feature. The restore is done
by replacing the origin volume with the snap volume.
TODO: After the restore the snapshot volume should be deleted. As of
now the deletion work is pending.
Change-Id: Ib137fb6bb84a74030607ffa47f89cd705dc7e1ff
Signed-off-by: Rajesh Joseph <rjoseph@redhat.com>
Diffstat (limited to 'xlators/mgmt/glusterd/src/glusterd.h')
-rw-r--r-- | xlators/mgmt/glusterd/src/glusterd.h | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/xlators/mgmt/glusterd/src/glusterd.h b/xlators/mgmt/glusterd/src/glusterd.h index f14b6737b..40ae611fa 100644 --- a/xlators/mgmt/glusterd/src/glusterd.h +++ b/xlators/mgmt/glusterd/src/glusterd.h @@ -278,6 +278,7 @@ struct glusterd_volinfo_ { gf_lock_t lock; char volname[GLUSTERD_MAX_VOLUME_NAME]; gf_boolean_t is_snap_volume; + gf_boolean_t is_volume_restored; char parent_volname[GLUSTERD_MAX_VOLUME_NAME]; /* In case of a snap volume i.e (is_snap_volume == TRUE) this @@ -485,14 +486,15 @@ typedef ssize_t (*gd_serialize_t) (struct iovec outmsg, void *args); volpath, brickinfo->hostname, exp_path); \ } while (0) -#define GLUSTERD_GET_SNAP_BRICK_PIDFILE(pidfile,volinfo,snapname,brickinfo, \ - priv) do { \ - char exp_path[PATH_MAX] = {0,}; \ - char volpath[PATH_MAX] = {0,}; \ - GLUSTERD_GET_SNAP_DIR(volpath, volinfo, snapname, priv); \ - GLUSTERD_REMOVE_SLASH_FROM_PATH (brickinfo->path, exp_path); \ - snprintf (pidfile, PATH_MAX, "%s/run/%s-%s.pid", \ - volpath, brickinfo->hostname, exp_path); \ +#define GLUSTERD_GET_SNAP_BRICK_PIDFILE(pidfile,vol_name,snap_name, \ + brickinfo, priv) do { \ + char exp_path[PATH_MAX] = {0,}; \ + char volpath[PATH_MAX] = {0,}; \ + snprintf (volpath, sizeof (volpath), "%s/vols/%s/snaps/%s", \ + priv->workdir, vol_name, snap_name); \ + GLUSTERD_REMOVE_SLASH_FROM_PATH (brickinfo->path, exp_path);\ + snprintf (pidfile, sizeof (pidfile), "%s/run/%s-%s.pid", \ + volpath, brickinfo->hostname, exp_path); \ } while (0) #define GLUSTERD_GET_NFS_PIDFILE(pidfile,nfspath) { \ |