summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--xlators/performance/io-threads/src/io-threads.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/xlators/performance/io-threads/src/io-threads.c b/xlators/performance/io-threads/src/io-threads.c
index 9a387d93ac7..83d0d708922 100644
--- a/xlators/performance/io-threads/src/io-threads.c
+++ b/xlators/performance/io-threads/src/io-threads.c
@@ -171,6 +171,8 @@ iot_schedule_ordered (iot_conf_t *conf,
if (inode == NULL) {
gf_log (conf->this->name, GF_LOG_ERROR,
"Got NULL inode for ordered request");
+ STACK_UNWIND (stub->frame, -1, EINVAL, NULL);
+ call_stub_destroy (stub);
return;
}
req = iot_init_request (stub);
@@ -182,6 +184,7 @@ iot_schedule_ordered (iot_conf_t *conf,
"Insane worker index. Unwinding stack");
STACK_UNWIND (stub->frame, -1, ECANCELED, NULL);
iot_destroy_request (req);
+ call_stub_destroy (stub);
goto unlock_out;
}
/* inode lock once acquired, cannot be left here