diff options
| author | Joseph Fernandes <josferna@redhat.com> | 2016-01-26 17:47:08 +0530 | 
|---|---|---|
| committer | Dan Lambright <dlambrig@redhat.com> | 2016-02-14 06:23:17 -0800 | 
| commit | d09d3406ce3eea551bd196402fdd46e3b8734bf1 (patch) | |
| tree | 0d0de619720e018b3d0ab36b274605a9d0bdda22 /libglusterfs | |
| parent | 0488cd5683f81eb49636cab59a6a43951e057013 (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.
Backport of http://review.gluster.org/13293
> 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>
Change-Id: I9448f19c10a82fff9b1b3c9387c9026adc0742f1
BUG: 1306514
Signed-off-by: Joseph Fernandes <josferna@redhat.com>
Reviewed-on: http://review.gluster.org/13427
Smoke: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Joseph Fernandes
Tested-by: Joseph Fernandes
NetBSD-regression: NetBSD Build System <jenkins@build.gluster.org>
CentOS-regression: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Dan Lambright <dlambrig@redhat.com>
Diffstat (limited to 'libglusterfs')
| -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 6a51e01a704..75460a4b886 100644 --- a/libglusterfs/src/gfdb/gfdb_data_store.h +++ b/libglusterfs/src/gfdb/gfdb_data_store.h @@ -358,31 +358,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; @@ -390,5 +390,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 ff85e17169d..28e5abe1ba3 100644 --- a/libglusterfs/src/gfdb/gfdb_data_store_helper.c +++ b/libglusterfs/src/gfdb/gfdb_data_store_helper.c @@ -1,6 +1,12 @@  #include "gfdb_data_store_helper.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 *  | 
