summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--heal/src/glfs-heal.c25
-rw-r--r--xlators/cluster/afr/src/afr-common.c4
-rw-r--r--xlators/cluster/afr/src/afr-self-heal-common.c3
-rw-r--r--xlators/cluster/afr/src/afr-self-heal-data.c6
4 files changed, 27 insertions, 11 deletions
diff --git a/heal/src/glfs-heal.c b/heal/src/glfs-heal.c
index 9e2be12ab4c..f198cbee00e 100644
--- a/heal/src/glfs-heal.c
+++ b/heal/src/glfs-heal.c
@@ -18,6 +18,8 @@
#include <string.h>
#include <time.h>
+#define DEFAULT_HEAL_LOG_FILE_DIRECTORY DATADIR "/log/glusterfs"
+
int
glfsh_link_inode_update_loc (loc_t *loc, struct iatt *iattr)
{
@@ -212,8 +214,7 @@ glfsh_process_entries (xlator_t *xl, loc_t *parentloc, gf_dirent_t *entries,
goto out;
uuid_parse (entry->d_name, entry_loc.gfid);
- //TODO: put gfid-path
- glfs_loc_touchup (&entry_loc);
+ entry_loc.path = gf_strdup (uuid_utoa (entry_loc.gfid));
ret = syncop_lookup (xl->parents->xlator, &entry_loc, xattr_req,
&iattr, &xattr_rsp, &parent);
if (ret < 0)
@@ -407,6 +408,7 @@ main (int argc, char **argv)
xlator_t *top_subvol = NULL;
xlator_t *xl = NULL;
loc_t rootloc = {0};
+ char logfilepath[PATH_MAX];
if (argc != 2) {
printf ("Usage: %s <volname>\n", argv[0]);
@@ -423,6 +425,15 @@ main (int argc, char **argv)
}
ret = glfs_set_volfile_server (fs, "tcp", "localhost", 24007);
+ snprintf (logfilepath, sizeof (logfilepath),
+ DEFAULT_HEAL_LOG_FILE_DIRECTORY"/glfsheal-%s.log", volname);
+ ret = glfs_set_logging(fs, logfilepath, GF_LOG_INFO);
+ if (ret < 0) {
+ ret = -1;
+ printf ("Not able to initialize volume '%s'\n", volname);
+ goto out;
+ }
+
ret = glfs_init (fs);
if (ret < 0) {
@@ -473,16 +484,18 @@ main (int argc, char **argv)
}
loc_wipe (&rootloc);
- glfs_subvol_done (fs, top_subvol);
- glfs_fini (fs);
+ //Calling this sometimes gives log messages on stderr.
+ //There is no graceful way of disabling that at the moment,
+ //since this process dies anyway, ignoring cleanup for now.
+ //glfs_fini (fs);
return 0;
out:
if (fs && top_subvol)
glfs_subvol_done (fs, top_subvol);
loc_wipe (&rootloc);
- if (fs)
- glfs_fini (fs);
+ //if (fs)
+ // glfs_fini (fs);
return ret;
}
diff --git a/xlators/cluster/afr/src/afr-common.c b/xlators/cluster/afr/src/afr-common.c
index 7dafa0529fa..1e57ebb9d7c 100644
--- a/xlators/cluster/afr/src/afr-common.c
+++ b/xlators/cluster/afr/src/afr-common.c
@@ -2292,7 +2292,7 @@ afr_set_root_inode_on_first_lookup (afr_local_t *local, xlator_t *this,
goto out;
priv = this->private;
if ((priv->first_lookup)) {
- gf_log (this->name, GF_LOG_INFO, "added root inode");
+ gf_log (this->name, GF_LOG_DEBUG, "added root inode");
priv->root_inode = inode_ref (inode);
priv->first_lookup = 0;
}
@@ -2353,7 +2353,7 @@ afr_discovery_cbk (call_frame_t *frame, void *cookie, xlator_t *this,
*/
if (is_local) {
child_index = (int32_t)(long)cookie;
- gf_log (this->name, GF_LOG_INFO,
+ gf_log (this->name, GF_LOG_DEBUG,
"selecting local read_child %s",
priv->children[child_index]->name);
priv->read_child = child_index;
diff --git a/xlators/cluster/afr/src/afr-self-heal-common.c b/xlators/cluster/afr/src/afr-self-heal-common.c
index ab9e44b41e0..4916bf45d68 100644
--- a/xlators/cluster/afr/src/afr-self-heal-common.c
+++ b/xlators/cluster/afr/src/afr-self-heal-common.c
@@ -2346,6 +2346,9 @@ afr_self_heal_completion_cbk (call_frame_t *bgsh_frame, xlator_t *this)
loglevel = GF_LOG_DEBUG;
}
+ if (sh->dry_run)
+ loglevel = GF_LOG_DEBUG;
+
afr_log_self_heal_completion_status (local, loglevel);
FRAME_SU_UNDO (bgsh_frame, afr_local_t);
diff --git a/xlators/cluster/afr/src/afr-self-heal-data.c b/xlators/cluster/afr/src/afr-self-heal-data.c
index 5c53f6a6a06..02c91c95710 100644
--- a/xlators/cluster/afr/src/afr-self-heal-data.c
+++ b/xlators/cluster/afr/src/afr-self-heal-data.c
@@ -947,7 +947,7 @@ afr_sh_data_fix (call_frame_t *frame, xlator_t *this)
afr_sh_mark_source_sinks (frame, this);
if (sh->active_sinks == 0) {
- gf_log (this->name, GF_LOG_INFO,
+ gf_log (this->name, GF_LOG_DEBUG,
"no active sinks for performing self-heal on file %s",
local->loc.path);
afr_sh_data_finish (frame, this);
@@ -1171,7 +1171,7 @@ afr_sh_data_fstat_cbk (call_frame_t *frame, void *cookie,
* the pending data xattrs which need to be erased
*/
if (!afr_sh_data_proceed (sh->success_count)) {
- gf_log (this->name, GF_LOG_ERROR, "inspecting metadata "
+ gf_log (this->name, GF_LOG_DEBUG, "inspecting metadata "
"succeeded on < %d children, aborting "
"self-heal for %s", AFR_SH_MIN_PARTICIPANTS,
local->loc.path);
@@ -1283,7 +1283,7 @@ afr_sh_data_fxattrop_cbk (call_frame_t *frame, void *cookie,
call_count = afr_frame_return (frame);
if (call_count == 0) {
if (!afr_sh_data_proceed (sh->success_count)) {
- gf_log (this->name, GF_LOG_ERROR, "%s, inspecting "
+ gf_log (this->name, GF_LOG_DEBUG, "%s, inspecting "
"change log succeeded on < %d children",
local->loc.path, AFR_SH_MIN_PARTICIPANTS);
afr_sh_data_fail (frame, this);