summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--libglusterfs/src/stack.h8
-rwxr-xr-xtests/bugs/io-cache/bug-read-hang.t2
2 files changed, 7 insertions, 3 deletions
diff --git a/libglusterfs/src/stack.h b/libglusterfs/src/stack.h
index d6d44d22396..8a7a42a171d 100644
--- a/libglusterfs/src/stack.h
+++ b/libglusterfs/src/stack.h
@@ -281,17 +281,19 @@ STACK_RESET (call_stack_t *stack)
#define STACK_WIND_TAIL(frame, obj, fn, params ...) \
do { \
xlator_t *old_THIS = NULL; \
+ xlator_t *next_xl = obj; \
+ typeof(fn) next_xl_fn = fn; \
\
- frame->this = obj; \
+ frame->this = next_xl; \
frame->wind_to = #fn; \
old_THIS = THIS; \
- THIS = obj; \
+ THIS = next_xl; \
gf_msg_trace ("stack-trace", 0, \
"stack-address: %p, " \
"winding from %s to %s", \
frame->root, old_THIS->name, \
THIS->name); \
- fn (frame, obj, params); \
+ next_xl_fn (frame, next_xl, params); \
THIS = old_THIS; \
} while (0)
diff --git a/tests/bugs/io-cache/bug-read-hang.t b/tests/bugs/io-cache/bug-read-hang.t
index 1242dbf3ee9..f8efe281723 100755
--- a/tests/bugs/io-cache/bug-read-hang.t
+++ b/tests/bugs/io-cache/bug-read-hang.t
@@ -19,6 +19,8 @@ TEST $CLI volume set $V0 performance.md-cache-timeout 600
TEST $CLI volume set $V0 performance.cache-samba-metadata on
TEST $CLI volume set $V0 open-behind off
+logdir=`gluster --print-logdir`
+
TEST $CLI volume start $V0
TEST glusterfs --volfile-id=/$V0 --volfile-server=$H0 $M0