diff options
| author | Joseph Fernandes <josferna@redhat.com> | 2016-01-26 17:47:08 +0530 | 
|---|---|---|
| committer | Dan Lambright <dlambrig@redhat.com> | 2016-02-03 10:04:40 -0800 | 
| commit | 11202e6c726f79ddf0e461338d7dce158733122e (patch) | |
| tree | df1381c8783ba8f5507f8311db4b9febf9536d10 /libglusterfs/src | |
| parent | 545f4ed2c7195a21210e6a055c27c1b7a115e18c (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')
| -rw-r--r-- | libglusterfs/src/gfdb/gfdb_data_store.h | 35 | ||||
| -rw-r--r-- | libglusterfs/src/gfdb/gfdb_data_store_helper.c | 6 | ||||
| -rw-r--r-- | libglusterfs/src/gfdb/gfdb_data_store_helper.h | 23 | 
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 *  | 
