diff options
Diffstat (limited to 'libglusterfs/src')
| -rw-r--r-- | libglusterfs/src/Makefile.am | 17 | ||||
| -rw-r--r-- | libglusterfs/src/common-utils.c | 23 | ||||
| -rw-r--r-- | libglusterfs/src/common-utils.h | 3 | 
3 files changed, 38 insertions, 5 deletions
diff --git a/libglusterfs/src/Makefile.am b/libglusterfs/src/Makefile.am index 2d1cb0fdca3..a288e703ed4 100644 --- a/libglusterfs/src/Makefile.am +++ b/libglusterfs/src/Makefile.am @@ -6,9 +6,10 @@ libglusterfs_la_CFLAGS = $(GF_CFLAGS) $(GF_DARWIN_LIBGLUSTERFS_CFLAGS) \  libglusterfs_la_CPPFLAGS = $(GF_CPPFLAGS) -D__USE_FILE_OFFSET64 \  	-DXLATORDIR=\"$(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator\" \  	-DXLATORPARENTDIR=\"$(libdir)/glusterfs/$(PACKAGE_VERSION)\" \ -	-I$(top_srcdir)/rpc/rpc-lib/src/ -I$(CONTRIBDIR)/rbtree \ -	-I$(CONTRIBDIR)/libexecinfo ${ARGP_STANDALONE_CPPFLAGS} \ -	-DSBIN_DIR=\"$(sbindir)\" -I$(CONTRIBDIR)/timer-wheel +	-I$(top_srcdir)/rpc/xdr/src/ -I$(top_srcdir)/rpc/rpc-lib/src/ \ +	-I$(CONTRIBDIR)/rbtree -I$(CONTRIBDIR)/libexecinfo \ +	${ARGP_STANDALONE_CPPFLAGS} -DSBIN_DIR=\"$(sbindir)\" \ +	-I$(CONTRIBDIR)/timer-wheel  libglusterfs_la_LIBADD = @LEXLIB@ $(ZLIB_LIBS) $(MATH_LIB) $(UUID_LIBS)  libglusterfs_la_LDFLAGS = -version-info $(LIBGLUSTERFS_LT_VERSION) @@ -35,9 +36,9 @@ libglusterfs_la_SOURCES = dict.c xlator.c logging.c \  	compound-fop-utils.c throttle-tbf.c  nodist_libglusterfs_la_SOURCES = y.tab.c graph.lex.c defaults.c -nodist_libglusterfs_la_HEADERS = y.tab.h glusterfs-fops.h +nodist_libglusterfs_la_HEADERS = y.tab.h glusterfs-fops.h cli1-xdr.h -BUILT_SOURCES = graph.lex.c defaults.c glusterfs-fops.h eventtypes.h +BUILT_SOURCES = graph.lex.c defaults.c glusterfs-fops.h eventtypes.h cli1-xdr.h  libglusterfs_la_HEADERS = common-utils.h defaults.h default-args.h \  	dict.h glusterfs.h hashfn.h timespec.h logging.h xlator.h \ @@ -99,6 +100,12 @@ $(top_srcdir)/rpc/xdr/src/glusterfs-fops.h: $(top_srcdir)/rpc/xdr/src/glusterfs-  glusterfs-fops.h: $(top_srcdir)/rpc/xdr/src/glusterfs-fops.h  	cp $(top_srcdir)/rpc/xdr/src/glusterfs-fops.h . +$(top_srcdir)/rpc/xdr/src/cli1-xdr.h: $(top_srcdir)/rpc/xdr/src/cli1-xdr.x +	$(MAKE) -C $(top_builddir)/rpc/xdr/src/ `basename $@` + +cli1-xdr.h: $(top_srcdir)/rpc/xdr/src/cli1-xdr.h +	cp $(top_srcdir)/rpc/xdr/src/cli1-xdr.h . +  CLEANFILES = $(nodist_libglusterfs_la_SOURCES) $(nodist_libglusterfs_la_HEADERS)  if UNITTEST diff --git a/libglusterfs/src/common-utils.c b/libglusterfs/src/common-utils.c index 8dc5141247e..351eb4daaec 100644 --- a/libglusterfs/src/common-utils.c +++ b/libglusterfs/src/common-utils.c @@ -46,6 +46,7 @@  #include "globals.h"  #include "lkowner.h"  #include "syscall.h" +#include "cli1-xdr.h"  #include <ifaddrs.h>  #include "libglusterfs-messages.h" @@ -53,6 +54,18 @@  #define AI_ADDRCONFIG 0  #endif /* AI_ADDRCONFIG */ +char *vol_type_str[] = {"Distribute", +                        "Stripe", +                        "Replicate", +                        "Striped-Replicate", +                        "Disperse", +                        "Tier", +                        "Distributed-Stripe", +                        "Distributed-Replicate", +                        "Distributed-Striped-Replicate", +                        "Distributed-Disperse", +                       }; +  typedef int32_t (*rw_op_t)(int32_t fd, char *buf, int32_t size);  typedef int32_t (*rwv_op_t)(int32_t fd, const struct iovec *buf, int32_t size); @@ -2723,6 +2736,16 @@ out:  }  int +get_vol_type (int type, int dist_count, int brick_count) +{ +        if ((type != GF_CLUSTER_TYPE_TIER) && (type > 0) && +             (dist_count < brick_count)) +              type = type + GF_CLUSTER_TYPE_MAX - 1; + +        return type; +} + +int  validate_brick_name (char *brick)  {          char *delimiter = NULL; diff --git a/libglusterfs/src/common-utils.h b/libglusterfs/src/common-utils.h index 4bcb6f9f2e0..3deb6bd43c9 100644 --- a/libglusterfs/src/common-utils.h +++ b/libglusterfs/src/common-utils.h @@ -209,6 +209,8 @@ struct list_node {          struct list_head list;  }; +extern char *vol_type_str[]; +  struct list_node *list_node_add (void *ptr, struct list_head *list);  struct list_node *list_node_add_order (void *ptr, struct list_head *list,                                         int (*compare)(struct list_head *, @@ -765,6 +767,7 @@ void gf_array_insertionsort (void *a, int l, int r, size_t elem_size,  int gf_is_str_int (const char *value);  char *gf_uint64_2human_readable (uint64_t); +int get_vol_type (int type, int dist_count, int brick_count);  int validate_brick_name (char *brick);  char *get_host_name (char *word, char **host);  char *get_path_name (char *word, char **path);  | 
