summaryrefslogtreecommitdiffstats
path: root/xlators/mgmt/glusterd/src/glusterd-snapshot-utils.c
diff options
context:
space:
mode:
Diffstat (limited to 'xlators/mgmt/glusterd/src/glusterd-snapshot-utils.c')
-rw-r--r--xlators/mgmt/glusterd/src/glusterd-snapshot-utils.c196
1 files changed, 0 insertions, 196 deletions
diff --git a/xlators/mgmt/glusterd/src/glusterd-snapshot-utils.c b/xlators/mgmt/glusterd/src/glusterd-snapshot-utils.c
index c8af1ec21c4..684e262c79c 100644
--- a/xlators/mgmt/glusterd/src/glusterd-snapshot-utils.c
+++ b/xlators/mgmt/glusterd/src/glusterd-snapshot-utils.c
@@ -3688,146 +3688,6 @@ out:
}
-/* *
- * Here there are two possibilities, either destination is snaphot or
- * clone. In the case of snapshot nfs_ganesha export file will be copied
- * to snapdir. If it is clone , then new export file will be created for
- * the clone in the GANESHA_EXPORT_DIRECTORY, replacing occurences of
- * volname with clonename
- */
-int
-glusterd_copy_nfs_ganesha_file (glusterd_volinfo_t *src_vol,
- glusterd_volinfo_t *dest_vol)
-{
-
- int32_t ret = -1;
- char snap_dir[PATH_MAX] = {0,};
- char src_path[PATH_MAX] = {0,};
- char dest_path[PATH_MAX] = {0,};
- char buffer[BUFSIZ] = {0,};
- char *find_ptr = NULL;
- char *buff_ptr = NULL;
- char *tmp_ptr = NULL;
- xlator_t *this = NULL;
- glusterd_conf_t *priv = NULL;
- struct stat stbuf = {0,};
- FILE *src = NULL;
- FILE *dest = NULL;
-
-
- this = THIS;
- GF_VALIDATE_OR_GOTO ("snapshot", this, out);
- priv = this->private;
- GF_VALIDATE_OR_GOTO (this->name, priv, out);
-
- GF_VALIDATE_OR_GOTO (this->name, src_vol, out);
- GF_VALIDATE_OR_GOTO (this->name, dest_vol, out);
-
- if (glusterd_check_ganesha_export(src_vol) == _gf_false) {
- gf_msg_debug (this->name, 0, "%s is not exported via "
- "NFS-Ganesha. Skipping copy of export conf.",
- src_vol->volname);
- ret = 0;
- goto out;
- }
-
- if (src_vol->is_snap_volume) {
- GLUSTERD_GET_SNAP_DIR (snap_dir, src_vol->snapshot, priv);
- ret = snprintf (src_path, PATH_MAX, "%s/export.%s.conf",
- snap_dir, src_vol->snapshot->snapname);
- } else {
- ret = snprintf (src_path, PATH_MAX, "%s/export.%s.conf",
- GANESHA_EXPORT_DIRECTORY, src_vol->volname);
- }
- if (ret < 0 || ret >= PATH_MAX)
- goto out;
-
- ret = sys_lstat (src_path, &stbuf);
- if (ret) {
- /*
- * This code path is hit, only when the src_vol is being *
- * exported via NFS-Ganesha. So if the conf file is not *
- * available, we fail the snapshot operation. *
- */
- gf_msg (this->name, GF_LOG_ERROR, errno,
- GD_MSG_FILE_OP_FAILED,
- "Stat on %s failed with %s",
- src_path, strerror (errno));
- goto out;
- }
-
- if (dest_vol->is_snap_volume) {
- memset (snap_dir, 0 , PATH_MAX);
- GLUSTERD_GET_SNAP_DIR (snap_dir, dest_vol->snapshot, priv);
- ret = snprintf (dest_path, sizeof (dest_path),
- "%s/export.%s.conf", snap_dir,
- dest_vol->snapshot->snapname);
- if (ret < 0)
- goto out;
-
- ret = glusterd_copy_file (src_path, dest_path);
- if (ret) {
- gf_msg (this->name, GF_LOG_ERROR, ENOMEM,
- GD_MSG_NO_MEMORY, "Failed to copy %s in %s",
- src_path, dest_path);
- goto out;
- }
-
- } else {
- ret = snprintf (dest_path, sizeof (dest_path),
- "%s/export.%s.conf", GANESHA_EXPORT_DIRECTORY,
- dest_vol->volname);
- if (ret < 0)
- goto out;
-
- src = fopen (src_path, "r");
- dest = fopen (dest_path, "w");
-
- if (!src || !dest) {
- gf_msg (this->name, GF_LOG_ERROR, 0,
- GD_MSG_FILE_OP_FAILED,
- "Failed to open %s",
- dest ? src_path : dest_path);
- ret = -1;
- goto out;
- }
-
- /* *
- * if the source volume is snapshot, the export conf file
- * consists of orginal volname
- */
- if (src_vol->is_snap_volume)
- find_ptr = gf_strdup (src_vol->parent_volname);
- else
- find_ptr = gf_strdup (src_vol->volname);
-
- if (!find_ptr)
- goto out;
-
- /* Replacing volname with clonename */
- while (fgets(buffer, BUFSIZ, src)) {
- buff_ptr = buffer;
- while ((tmp_ptr = strstr(buff_ptr, find_ptr))) {
- while (buff_ptr < tmp_ptr)
- fputc((int)*buff_ptr++, dest);
- fputs(dest_vol->volname, dest);
- buff_ptr += strlen(find_ptr);
- }
- fputs(buff_ptr, dest);
- memset (buffer, 0, BUFSIZ);
- }
- }
-out:
- if (src)
- fclose (src);
- if (dest)
- fclose (dest);
- if (find_ptr)
- GF_FREE(find_ptr);
-
- return ret;
-}
-
int32_t
glusterd_restore_geo_rep_files (glusterd_volinfo_t *snap_vol)
{
@@ -3918,62 +3778,6 @@ out:
return ret;
}
-int
-glusterd_restore_nfs_ganesha_file (glusterd_volinfo_t *src_vol,
- glusterd_snap_t *snap)
-{
-
- int32_t ret = -1;
- char snap_dir[PATH_MAX] = "";
- char src_path[PATH_MAX] = "";
- char dest_path[PATH_MAX] = "";
- xlator_t *this = NULL;
- glusterd_conf_t *priv = NULL;
- struct stat stbuf = {0,};
-
- this = THIS;
- GF_VALIDATE_OR_GOTO ("snapshot", this, out);
- priv = this->private;
- GF_VALIDATE_OR_GOTO (this->name, priv, out);
-
- GF_VALIDATE_OR_GOTO (this->name, src_vol, out);
- GF_VALIDATE_OR_GOTO (this->name, snap, out);
-
- GLUSTERD_GET_SNAP_DIR (snap_dir, snap, priv);
-
- ret = snprintf (src_path, sizeof (src_path), "%s/export.%s.conf",
- snap_dir, snap->snapname);
- if (ret < 0)
- goto out;
-
- ret = sys_lstat (src_path, &stbuf);
- if (ret) {
- if (errno == ENOENT) {
- ret = 0;
- gf_msg_debug (this->name, 0, "%s not found", src_path);
- } else
- gf_msg (this->name, GF_LOG_WARNING, errno,
- GD_MSG_FILE_OP_FAILED,
- "Stat on %s failed with %s",
- src_path, strerror (errno));
- goto out;
- }
-
- ret = snprintf (dest_path, sizeof (dest_path), "%s/export.%s.conf",
- GANESHA_EXPORT_DIRECTORY, src_vol->volname);
- if (ret < 0)
- goto out;
-
- ret = glusterd_copy_file (src_path, dest_path);
- if (ret)
- gf_msg (this->name, GF_LOG_ERROR, ENOMEM,
- GD_MSG_NO_MEMORY, "Failed to copy %s in %s",
- src_path, dest_path);
-
-out:
- return ret;
-
-}
/* Snapd functions */
int
glusterd_is_snapd_enabled (glusterd_volinfo_t *volinfo)