summaryrefslogtreecommitdiffstats
path: root/libglusterfs/src
diff options
context:
space:
mode:
Diffstat (limited to 'libglusterfs/src')
-rwxr-xr-xlibglusterfs/src/generator.py10
-rw-r--r--libglusterfs/src/glusterfs.h16
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 */