diff options
Diffstat (limited to 'libglusterfs/src')
| -rw-r--r-- | libglusterfs/src/call-stub.c | 13 | ||||
| -rw-r--r-- | libglusterfs/src/call-stub.h | 7 | ||||
| -rw-r--r-- | libglusterfs/src/defaults.c | 14 | ||||
| -rw-r--r-- | libglusterfs/src/defaults.h | 6 | ||||
| -rw-r--r-- | libglusterfs/src/xlator.h | 7 | 
5 files changed, 22 insertions, 25 deletions
diff --git a/libglusterfs/src/call-stub.c b/libglusterfs/src/call-stub.c index 789b12c9796..7008cfd6f38 100644 --- a/libglusterfs/src/call-stub.c +++ b/libglusterfs/src/call-stub.c @@ -599,10 +599,8 @@ out:  call_stub_t * -fop_symlink_stub (call_frame_t *frame, -		  fop_symlink_t fn, -		  const char *linkname, -		  loc_t *loc) +fop_symlink_stub (call_frame_t *frame, fop_symlink_t fn, +		  const char *linkname, loc_t *loc, dict_t *params)  {  	call_stub_t *stub = NULL; @@ -616,6 +614,8 @@ fop_symlink_stub (call_frame_t *frame,  	stub->args.symlink.fn = fn;  	stub->args.symlink.linkname = gf_strdup (linkname);  	loc_copy (&stub->args.symlink.loc, loc); +        if (params) +                stub->args.symlink.params = dict_ref (params);  out:  	return stub;  } @@ -2189,7 +2189,8 @@ call_resume_wind (call_stub_t *stub)  		stub->args.symlink.fn (stub->frame,  				       stub->frame->this,  				       stub->args.symlink.linkname, -				       &stub->args.symlink.loc); +				       &stub->args.symlink.loc, +                                       stub->args.symlink.params);  	}  	break; @@ -3362,6 +3363,8 @@ call_stub_destroy_wind (call_stub_t *stub)  	{  		GF_FREE ((char *)stub->args.symlink.linkname);  		loc_wipe (&stub->args.symlink.loc); +                if (stub->args.symlink.params) +                        dict_unref (stub->args.symlink.params);  	}  	break; diff --git a/libglusterfs/src/call-stub.h b/libglusterfs/src/call-stub.h index 7c67b18e514..83efa9a4857 100644 --- a/libglusterfs/src/call-stub.h +++ b/libglusterfs/src/call-stub.h @@ -186,6 +186,7 @@ typedef struct {  			fop_symlink_t fn;  			const char *linkname;  			loc_t loc; +                        dict_t *params;  		} symlink;  		struct {  			fop_symlink_cbk_t fn; @@ -727,10 +728,8 @@ fop_rmdir_cbk_stub (call_frame_t *frame,                      struct iatt *postparent);  call_stub_t * -fop_symlink_stub (call_frame_t *frame, -		  fop_symlink_t fn, -		  const char *linkname, -		  loc_t *loc); +fop_symlink_stub (call_frame_t *frame, fop_symlink_t fn, +		  const char *linkname, loc_t *loc, dict_t *params);  call_stub_t *  fop_symlink_cbk_stub (call_frame_t *frame, diff --git a/libglusterfs/src/defaults.c b/libglusterfs/src/defaults.c index 3224e730405..628130a0946 100644 --- a/libglusterfs/src/defaults.c +++ b/libglusterfs/src/defaults.c @@ -370,17 +370,15 @@ default_symlink_cbk (call_frame_t *frame,  	return 0;  } -int32_t -default_symlink (call_frame_t *frame, -		 xlator_t *this, -		 const char *linkpath, -		 loc_t *loc) + +int +default_symlink (call_frame_t *frame, xlator_t *this, +		 const char *linkpath, loc_t *loc, dict_t *params)  { -	STACK_WIND (frame, -		    default_symlink_cbk, +	STACK_WIND (frame, default_symlink_cbk,  		    FIRST_CHILD(this),  		    FIRST_CHILD(this)->fops->symlink, -		    linkpath, loc); +		    linkpath, loc, params);  	return 0;  } diff --git a/libglusterfs/src/defaults.h b/libglusterfs/src/defaults.h index f58d55e1a73..a1177cb6c52 100644 --- a/libglusterfs/src/defaults.h +++ b/libglusterfs/src/defaults.h @@ -96,10 +96,8 @@ int32_t default_rmdir (call_frame_t *frame,  		       xlator_t *this,  		       loc_t *loc); -int32_t default_symlink (call_frame_t *frame, -			 xlator_t *this, -			 const char *linkpath, -			 loc_t *loc); +int32_t default_symlink (call_frame_t *frame, xlator_t *this, +			 const char *linkpath, loc_t *loc, dict_t *params);  int32_t default_rename (call_frame_t *frame,  			xlator_t *this, diff --git a/libglusterfs/src/xlator.h b/libglusterfs/src/xlator.h index 84839418374..c71aa7bb3cc 100644 --- a/libglusterfs/src/xlator.h +++ b/libglusterfs/src/xlator.h @@ -458,10 +458,9 @@ typedef int32_t (*fop_rmdir_t) (call_frame_t *frame,  				xlator_t *this,  				loc_t *loc); -typedef int32_t (*fop_symlink_t) (call_frame_t *frame, -				  xlator_t *this, -				  const char *linkname, -				  loc_t *loc); +typedef int32_t (*fop_symlink_t) (call_frame_t *frame, xlator_t *this, +				  const char *linkname, loc_t *loc, +                                  dict_t *params);  typedef int32_t (*fop_rename_t) (call_frame_t *frame,  				 xlator_t *this,  | 
