diff options
| author | Anand V. Avati <avati@amp.gluster.com> | 2009-05-22 02:10:24 +0000 | 
|---|---|---|
| committer | Anand V. Avati <avati@dev.gluster.com> | 2009-05-22 01:06:11 -0700 | 
| commit | 9cec4a0a790cc74106f92375506d7a16e09bdb10 (patch) | |
| tree | 1f6dc3a5465b6a43136d8fa773058366e21824e0 | |
| parent | 99bf8da4764f425ac4022c9854acbd4247b6fdfc (diff) | |
THIS: xlator_notify API to be used for propagating notifications with proper THIS setting
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
| -rw-r--r-- | libglusterfs/src/xlator.c | 17 | ||||
| -rw-r--r-- | libglusterfs/src/xlator.h | 2 | 
2 files changed, 19 insertions, 0 deletions
diff --git a/libglusterfs/src/xlator.c b/libglusterfs/src/xlator.c index 002cf90a9e3..61f8f6f4eab 100644 --- a/libglusterfs/src/xlator.c +++ b/libglusterfs/src/xlator.c @@ -807,6 +807,23 @@ xlator_fini_rec (xlator_t *xl)  } +int +xlator_notify (xlator_t *xl, int event, void *data, ...) +{ +        xlator_t *old_THIS = NULL; +        int       ret = 0; + +        old_THIS = THIS; +        THIS = xl; + +        ret = xl->notify (xl, event, data); + +        THIS = old_THIS; + +        return ret; +} + +  void  xlator_tree_fini (xlator_t *xl)  { diff --git a/libglusterfs/src/xlator.h b/libglusterfs/src/xlator.h index b9555ffd5e8..ffbb6a0f84f 100644 --- a/libglusterfs/src/xlator.h +++ b/libglusterfs/src/xlator.h @@ -60,6 +60,7 @@ typedef int32_t (*event_notify_fn_t) (xlator_t *this,  #include "iobuf.h"  #include "inode.h"  #include "fd.h" +#include "globals.h"  struct _loc {  	const char *path; @@ -871,6 +872,7 @@ int32_t xlator_set_type (xlator_t *xl, const char *type);  xlator_t *file_to_xlator_tree (glusterfs_ctx_t *ctx,  			       FILE *fp); +int xlator_notify (xlator_t *this, int32_t event, void *data, ...);  int32_t xlator_tree_init (xlator_t *xl);  int32_t xlator_tree_free (xlator_t *xl);  | 
