summaryrefslogtreecommitdiffstats
path: root/libglusterfs/src/gfdb
diff options
context:
space:
mode:
authorJoseph Fernandes <josferna@redhat.com>2016-01-26 17:47:08 +0530
committerDan Lambright <dlambrig@redhat.com>2016-02-03 10:04:40 -0800
commit11202e6c726f79ddf0e461338d7dce158733122e (patch)
treedf1381c8783ba8f5507f8311db4b9febf9536d10 /libglusterfs/src/gfdb
parent545f4ed2c7195a21210e6a055c27c1b7a115e18c (diff)
tier/gfdb : Round-Robin read of query files
1. Each brick on a host will get a separate query file. 2. While reading query record from these query files we read them in a Round-Robin manner. 3. When an error occurs during migration we rename it to query file with an time stamp and .err extension for better debugging. Change-Id: I27c4285d24fd695d2d5cbd9fd7db3879d277ecc8 BUG: 1302772 Signed-off-by: Joseph Fernandes <josferna@redhat.com> Reviewed-on: http://review.gluster.org/13293 Smoke: Gluster Build System <jenkins@build.gluster.com> Tested-by: N Balachandran <nbalacha@redhat.com> NetBSD-regression: NetBSD Build System <jenkins@build.gluster.org> Reviewed-by: Dan Lambright <dlambrig@redhat.com> CentOS-regression: Gluster Build System <jenkins@build.gluster.com>
Diffstat (limited to 'libglusterfs/src/gfdb')
-rw-r--r--libglusterfs/src/gfdb/gfdb_data_store.h35
-rw-r--r--libglusterfs/src/gfdb/gfdb_data_store_helper.c6
-rw-r--r--libglusterfs/src/gfdb/gfdb_data_store_helper.h23
3 files changed, 32 insertions, 32 deletions
diff --git a/libglusterfs/src/gfdb/gfdb_data_store.h b/libglusterfs/src/gfdb/gfdb_data_store.h
index 1e8c3ebe6ad..eacb8527034 100644
--- a/libglusterfs/src/gfdb/gfdb_data_store.h
+++ b/libglusterfs/src/gfdb/gfdb_data_store.h
@@ -351,31 +351,31 @@ typedef int (*set_db_params_t)(gfdb_conn_node_t *db_conn,
typedef struct gfdb_methods_s {
- init_db_t init_db;
- fini_db_t fini_db;
- find_unchanged_for_time_t find_unchanged_for_time;
- find_recently_changed_files_t find_recently_changed_files;
- find_unchanged_for_time_freq_t find_unchanged_for_time_freq;
+ init_db_t init_db;
+ fini_db_t fini_db;
+ find_unchanged_for_time_t find_unchanged_for_time;
+ find_recently_changed_files_t find_recently_changed_files;
+ find_unchanged_for_time_freq_t find_unchanged_for_time_freq;
find_recently_changed_files_freq_t find_recently_changed_files_freq;
- clear_files_heat_t clear_files_heat;
- get_db_version_t get_db_version;
- get_db_params_t get_db_params;
- set_db_params_t set_db_params;
+ clear_files_heat_t clear_files_heat;
+ get_db_version_t get_db_version;
+ get_db_params_t get_db_params;
+ set_db_params_t set_db_params;
/* Do not expose dbpath directly. Expose it via an */
/* access function: get_db_path_key(). */
- char *dbpath;
- get_db_path_key_t get_db_path_key;
+ char *dbpath;
+ get_db_path_key_t get_db_path_key;
/* Query Record related functions */
- gfdb_query_record_new_t gfdb_query_record_new;
- gfdb_query_record_free_t gfdb_query_record_free;
+ gfdb_query_record_new_t gfdb_query_record_new;
+ gfdb_query_record_free_t gfdb_query_record_free;
gfdb_add_link_to_query_record_t gfdb_add_link_to_query_record;
- gfdb_write_query_record_t gfdb_write_query_record;
- gfdb_read_query_record_t gfdb_read_query_record;
+ gfdb_write_query_record_t gfdb_write_query_record;
+ gfdb_read_query_record_t gfdb_read_query_record;
/* Link info related functions */
- gfdb_link_info_new_t gfdb_link_info_new;
- gfdb_link_info_free_t gfdb_link_info_free;
+ gfdb_link_info_new_t gfdb_link_info_new;
+ gfdb_link_info_free_t gfdb_link_info_free;
} gfdb_methods_t;
@@ -383,5 +383,4 @@ void get_gfdb_methods (gfdb_methods_t *methods);
typedef void (*get_gfdb_methods_t) (gfdb_methods_t *methods);
-
#endif
diff --git a/libglusterfs/src/gfdb/gfdb_data_store_helper.c b/libglusterfs/src/gfdb/gfdb_data_store_helper.c
index 6d7d5c58d32..fba5ec5a252 100644
--- a/libglusterfs/src/gfdb/gfdb_data_store_helper.c
+++ b/libglusterfs/src/gfdb/gfdb_data_store_helper.c
@@ -2,6 +2,12 @@
#include "gfdb_data_store_helper.h"
#include "syscall.h"
+/******************************************************************************
+ *
+ * Query record related functions
+ *
+ * ****************************************************************************/
+
/*Create a single link info structure*/
gfdb_link_info_t*
gfdb_link_info_new ()
diff --git a/libglusterfs/src/gfdb/gfdb_data_store_helper.h b/libglusterfs/src/gfdb/gfdb_data_store_helper.h
index fe9fbba8795..ce1f1c52281 100644
--- a/libglusterfs/src/gfdb/gfdb_data_store_helper.h
+++ b/libglusterfs/src/gfdb/gfdb_data_store_helper.h
@@ -13,6 +13,7 @@
#include <time.h>
#include <sys/time.h>
#include <string.h>
+#include <fcntl.h>
#include "common-utils.h"
#include "compat-uuid.h"
@@ -44,20 +45,6 @@ typedef struct gfdb_link_info {
} gfdb_link_info_t;
-/*Create a single link info structure*/
-gfdb_link_info_t *gfdb_link_info_new ();
-typedef gfdb_link_info_t *(*gfdb_link_info_new_t) ();
-
-/*Destroy a link info structure*/
-void
-gfdb_link_info_free (gfdb_link_info_t *gfdb_link_info);
-typedef void
-(*gfdb_link_info_free_t) (gfdb_link_info_t *gfdb_link_info);
-
-
-
-
-
/*Structure used for querying purpose*/
typedef struct gfdb_query_record {
uuid_t gfid;
@@ -66,7 +53,15 @@ typedef struct gfdb_query_record {
int link_count;
} gfdb_query_record_t;
+/*Create a single link info structure*/
+gfdb_link_info_t *gfdb_link_info_new ();
+typedef gfdb_link_info_t *(*gfdb_link_info_new_t) ();
+/*Destroy a link info structure*/
+void
+gfdb_link_info_free (gfdb_link_info_t *gfdb_link_info);
+typedef void
+(*gfdb_link_info_free_t) (gfdb_link_info_t *gfdb_link_info);
/* Function to create the query_record */
gfdb_query_record_t *