From 11202e6c726f79ddf0e461338d7dce158733122e Mon Sep 17 00:00:00 2001 From: Joseph Fernandes Date: Tue, 26 Jan 2016 17:47:08 +0530 Subject: 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 Reviewed-on: http://review.gluster.org/13293 Smoke: Gluster Build System Tested-by: N Balachandran NetBSD-regression: NetBSD Build System Reviewed-by: Dan Lambright CentOS-regression: Gluster Build System --- libglusterfs/src/gfdb/gfdb_data_store.h | 35 +++++++++++++------------- libglusterfs/src/gfdb/gfdb_data_store_helper.c | 6 +++++ libglusterfs/src/gfdb/gfdb_data_store_helper.h | 23 +++++++---------- 3 files changed, 32 insertions(+), 32 deletions(-) (limited to 'libglusterfs') 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 #include #include +#include #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 * -- cgit