diff options
Diffstat (limited to 'libglusterfs')
| -rwxr-xr-x | libglusterfs/src/generator.py | 10 | ||||
| -rw-r--r-- | libglusterfs/src/glusterfs.h | 16 | 
2 files changed, 24 insertions, 2 deletions
diff --git a/libglusterfs/src/generator.py b/libglusterfs/src/generator.py index c9311ea3856..3072382c7a5 100755 --- a/libglusterfs/src/generator.py +++ b/libglusterfs/src/generator.py @@ -714,7 +714,7 @@ def get_error_arg (type_str):  		return "NULL"  	return "-1" -def get_subs (names, types): +def get_subs (names, types, cbktypes=None):  	sdict = {}  	sdict["@SHORT_ARGS@"] = string.join(names,", ")  	# Convert two separate tuples to one of (name, type) sub-tuples. @@ -725,6 +725,9 @@ def get_subs (names, types):  	sdict["@LONG_ARGS@"] = string.join(as_strings,",\n\t")  	# So much more readable than string.join(map(string.join,zip(...))))  	sdict["@ERROR_ARGS@"] = string.join(map(get_error_arg,types),", ") +        if cbktypes is not None: +                sdict["@CBK_ERROR_ARGS@"] = string.join(map( +                                            get_error_arg,cbktypes),", ")  	return sdict  def generate (tmpl, name, subs): @@ -732,6 +735,8 @@ def generate (tmpl, name, subs):  	if name == "writev":  		# More spurious inconsistency.  		text = text.replace("@UPNAME@","WRITE") +        elif name == "readv": +                text = text.replace("@UPNAME@","READ")  	else:  		text = text.replace("@UPNAME@",name.upper())  	for old, new in subs[name].iteritems(): @@ -747,7 +752,8 @@ for name, args in ops.iteritems():  	# Create the necessary substitution strings for fops.  	arg_names = [ a[1] for a in args if a[0] == 'fop-arg']  	arg_types = [ a[2] for a in args if a[0] == 'fop-arg'] -	fop_subs[name] = get_subs(arg_names,arg_types) +        cbk_types = [ a[2] for a in args if a[0] == 'cbk-arg'] +	fop_subs[name] = get_subs(arg_names,arg_types,cbk_types)  	# Same thing for callbacks.  	arg_names = [ a[1] for a in args if a[0] == 'cbk-arg'] diff --git a/libglusterfs/src/glusterfs.h b/libglusterfs/src/glusterfs.h index 43e6f48d905..5b9f2a45405 100644 --- a/libglusterfs/src/glusterfs.h +++ b/libglusterfs/src/glusterfs.h @@ -358,6 +358,22 @@ enum gf_internal_fop_indicator {                  }                                               \          } while (0)                                             \ +#define GF_CS_OBJECT_SIZE  "trusted.glusterfs.cs.object_size" + +#define GF_CS_OBJECT_UPLOAD_COMPLETE "trusted.glusterfs.csou.complete" +#define GF_CS_OBJECT_REMOTE "trusted.glusterfs.cs.remote" +#define GF_CS_OBJECT_DOWNLOADING "trusted.glusterfs.cs.downloading" +#define GF_CS_OBJECT_DOWNLOADED "trusted.glusterfs.cs.downloaded" +#define GF_CS_OBJECT_STATUS "trusted.glusterfs.cs.status" +#define GF_CS_OBJECT_REPAIR "trusted.glusterfs.cs.repair" + +typedef enum { +        GF_CS_LOCAL = 1, +        GF_CS_REMOTE = 2, +        GF_CS_REPAIR = 4, +        GF_CS_DOWNLOADING = 8, +        GF_CS_ERROR = 16, +} gf_cs_obj_state;  typedef enum {          GF_FOP_PRI_UNSPEC = -1,         /* Priority not specified */  | 
