From 1f3df9f1e028f6bf978004d7f1d82fe32f6975c9 Mon Sep 17 00:00:00 2001 From: Jeff Darcy Date: Wed, 9 Dec 2015 14:19:00 -0500 Subject: NSR: nsr client code generation patch This version of the client checks if the error returned is EREMOTE or ENOTCONN, and if not unwnds the error back In case of a EREMOTE or ENOTCONN error, it retries on all the bricks in the replica subgroup, and if the error still persists, it waits for a sec before going through the same exercise again. Change-Id: I916bed32f0820f381dd60fdde3d05b71c69a34dc Signed-off-by: Avra Sengupta Reviewed-on: http://review.gluster.org/12388 Smoke: Gluster Build System Reviewed-by: Jeff Darcy NetBSD-regression: NetBSD Build System CentOS-regression: Gluster Build System --- libglusterfs/src/call-stub.h | 7 +++++++ libglusterfs/src/glfs-message-id.h | 4 ++++ 2 files changed, 11 insertions(+) (limited to 'libglusterfs/src') diff --git a/libglusterfs/src/call-stub.h b/libglusterfs/src/call-stub.h index f34073977e4..01621368ee9 100644 --- a/libglusterfs/src/call-stub.h +++ b/libglusterfs/src/call-stub.h @@ -760,4 +760,11 @@ fop_seek_cbk_stub (call_frame_t *frame, fop_seek_cbk_t fn, void call_resume (call_stub_t *stub); void call_stub_destroy (call_stub_t *stub); void call_unwind_error (call_stub_t *stub, int op_ret, int op_errno); + +/* + * Sometimes we might want to call just this, perhaps repeatedly, without + * having (or being able) to destroy and recreate it. + */ +void call_resume_wind (call_stub_t *stub); + #endif diff --git a/libglusterfs/src/glfs-message-id.h b/libglusterfs/src/glfs-message-id.h index e1b75400bbd..d002fd57fb7 100644 --- a/libglusterfs/src/glfs-message-id.h +++ b/libglusterfs/src/glfs-message-id.h @@ -162,6 +162,10 @@ GLFS_MSGID_COMP_SYMLINK_CACHE_END #define GLFS_MSGID_COMP_SHARD GLFS_MSGID_COMP_CHANGELOG_LIB_END #define GLFS_MSGID_COMP_SHARD_END (GLFS_MSGID_COMP_SHARD +\ GLFS_MSGID_SEGMENT) + +#define GLFS_MSGID_COMP_NSR GLFS_MSGID_COMP_SHARD_END +#define GLFS_MSGID_COMP_NSR_END (GLFS_MSGID_COMP_SHARD_END+\ + GLFS_MSGID_SEGMENT) /* --- new segments for messages goes above this line --- */ #endif /* !_GLFS_MESSAGE_ID_H_ */ -- cgit