diff options
| -rw-r--r-- | libglusterfs/src/common-utils.c | 1 | ||||
| -rw-r--r-- | libglusterfs/src/defaults.c | 26 | ||||
| -rw-r--r-- | libglusterfs/src/defaults.h | 5 | ||||
| -rw-r--r-- | libglusterfs/src/glusterfs.h | 1 | ||||
| -rw-r--r-- | libglusterfs/src/protocol.h | 8 | ||||
| -rw-r--r-- | libglusterfs/src/xlator.c | 1 | ||||
| -rw-r--r-- | libglusterfs/src/xlator.h | 10 | 
7 files changed, 52 insertions, 0 deletions
diff --git a/libglusterfs/src/common-utils.c b/libglusterfs/src/common-utils.c index fb6948d2d86..2650e8fb55a 100644 --- a/libglusterfs/src/common-utils.c +++ b/libglusterfs/src/common-utils.c @@ -218,6 +218,7 @@ gf_global_variable_init()  	gf_mop_list[GF_MOP_STATS]       = "STATS";  	gf_mop_list[GF_MOP_SETSPEC]     = "SETSPEC";  	gf_mop_list[GF_MOP_GETSPEC]     = "GETSPEC"; +        gf_mop_list[GF_MOP_LOG]         = "LOG";  	gf_mop_list[GF_MOP_PING]        = "PING";  	gf_cbk_list[GF_CBK_FORGET]      = "FORGET"; diff --git a/libglusterfs/src/defaults.c b/libglusterfs/src/defaults.c index 77451d11c96..ba47ecc8801 100644 --- a/libglusterfs/src/defaults.c +++ b/libglusterfs/src/defaults.c @@ -1344,6 +1344,32 @@ default_getspec (call_frame_t *frame,  static int32_t +default_log_cbk (call_frame_t *frame, +                 void *cookie, +                 xlator_t *this, +                 int32_t op_ret, +                 int32_t op_errno) +{ +	STACK_UNWIND (frame, op_ret, op_errno); +	return 0; +} + + +int32_t +default_log (call_frame_t *frame, +             xlator_t *this, +             const char *msg) +{ +	STACK_WIND (frame, +		    default_log_cbk, +		    FIRST_CHILD(this), +		    FIRST_CHILD(this)->mops->log, +		    msg); +	return 0; +} + + +static int32_t  default_checksum_cbk (call_frame_t *frame,  		      void *cookie,  		      xlator_t *this, diff --git a/libglusterfs/src/defaults.h b/libglusterfs/src/defaults.h index a61bdff755d..33d9745204d 100644 --- a/libglusterfs/src/defaults.h +++ b/libglusterfs/src/defaults.h @@ -42,6 +42,11 @@ int32_t default_getspec (call_frame_t *frame,  			 const char *key,  			 int32_t flag); +int32_t +default_log (call_frame_t *frame, +             xlator_t *this, +             const char *msg); +  int32_t default_checksum (call_frame_t *frame,  			  xlator_t *this,  			  loc_t *loc, diff --git a/libglusterfs/src/glusterfs.h b/libglusterfs/src/glusterfs.h index a4b8a516f17..bf269df4b32 100644 --- a/libglusterfs/src/glusterfs.h +++ b/libglusterfs/src/glusterfs.h @@ -139,6 +139,7 @@ typedef enum {          GF_MOP_SETSPEC,          GF_MOP_GETSPEC,  	GF_MOP_PING, +        GF_MOP_LOG,          GF_MOP_MAXVALUE   /* 5 */  } glusterfs_mop_t; diff --git a/libglusterfs/src/protocol.h b/libglusterfs/src/protocol.h index 4bb379b2f9b..b17f83bcd8f 100644 --- a/libglusterfs/src/protocol.h +++ b/libglusterfs/src/protocol.h @@ -724,6 +724,14 @@ typedef struct {  typedef struct { +        uint32_t msglen; +	char     msg[0]; +} __attribute__((packed)) gf_mop_log_req_t; +typedef struct { +} __attribute__((packed)) gf_mop_log_rsp_t; + + +typedef struct {  	uint32_t dict_len;  	char buf[0];  } __attribute__((packed)) gf_mop_setvolume_req_t; diff --git a/libglusterfs/src/xlator.c b/libglusterfs/src/xlator.c index c20499de27e..1bcf2e73834 100644 --- a/libglusterfs/src/xlator.c +++ b/libglusterfs/src/xlator.c @@ -102,6 +102,7 @@ fill_defaults (xlator_t *xl)  	SET_DEFAULT_FOP (lock_notify);  	SET_DEFAULT_FOP (lock_fnotify); +        SET_DEFAULT_MOP (log);  	SET_DEFAULT_MOP (stats);  	SET_DEFAULT_CBK (release); diff --git a/libglusterfs/src/xlator.h b/libglusterfs/src/xlator.h index 2bacc04577c..8e067617578 100644 --- a/libglusterfs/src/xlator.h +++ b/libglusterfs/src/xlator.h @@ -98,6 +98,10 @@ typedef int32_t (*mop_getspec_cbk_t) (call_frame_t *frame,  				      int32_t op_errno,  				      char *spec_data); +typedef int32_t (*mop_log_cbk_t) (call_frame_t *frame, +                                  void *cookie, xlator_t *this, +                                  int32_t op_ret, int32_t op_errno); +  typedef int32_t (*fop_checksum_cbk_t) (call_frame_t *frame,  				       void *cookie,  				       xlator_t *this, @@ -119,6 +123,10 @@ typedef int32_t (*mop_getspec_t) (call_frame_t *frame,  				  const char *key,  				  int32_t flag); +typedef int32_t (*mop_log_t) (call_frame_t *frame, +                              xlator_t *this, +                              const char *msg); +  typedef int32_t (*fop_checksum_t) (call_frame_t *frame,  				   xlator_t *this,  				   loc_t *loc, @@ -127,7 +135,9 @@ typedef int32_t (*fop_checksum_t) (call_frame_t *frame,  struct xlator_mops {  	mop_stats_t            stats;  	mop_getspec_t          getspec; +        mop_log_t              log; +        mop_log_cbk_t          log_cbk;  	mop_stats_cbk_t        stats_cbk;  	mop_getspec_cbk_t      getspec_cbk;  };  | 
