diff options
-rw-r--r-- | xlators/storage/posix/src/posix-inode-fd-ops.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/xlators/storage/posix/src/posix-inode-fd-ops.c b/xlators/storage/posix/src/posix-inode-fd-ops.c index bf7e87dc91..8727b9045b 100644 --- a/xlators/storage/posix/src/posix-inode-fd-ops.c +++ b/xlators/storage/posix/src/posix-inode-fd-ops.c @@ -5148,7 +5148,12 @@ posix_do_readdir (call_frame_t *frame, xlator_t *this, posix_readdirp_fill (this, fd, &entries, dict); out: - STACK_UNWIND_STRICT (readdir, frame, op_ret, op_errno, &entries, NULL); + if (whichop == GF_FOP_READDIR) + STACK_UNWIND_STRICT (readdir, frame, op_ret, op_errno, &entries, + NULL); + else + STACK_UNWIND_STRICT (readdirp, frame, op_ret, op_errno, + &entries, NULL); gf_dirent_free (&entries); @@ -5188,8 +5193,8 @@ posix_readdirp (call_frame_t *frame, xlator_t *this, } } - STACK_UNWIND_STRICT (readdir, frame, op_ret, op_errno, &entries, - NULL); + STACK_UNWIND_STRICT (readdirp, frame, op_ret, op_errno, + &entries, NULL); gf_dirent_free (&entries); return 0; |