From 30a5e857aade2474c5bd621c57938dfe333c3ae5 Mon Sep 17 00:00:00 2001 From: Matt Benjamin Date: Wed, 15 Mar 2017 16:40:35 -0400 Subject: [PATCH] rgw_file: rgw_readdir: return dot-dirs only when *offset is 0 Signed-off-by: Matt Benjamin (cherry picked from commit 61482c2b85a07519f2256b1a3f2b6d8aa99d5f06) --- src/rgw/rgw_file.cc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/rgw/rgw_file.cc b/src/rgw/rgw_file.cc index 4dd017db3a6a8..e9b5416a566f6 100644 --- a/src/rgw/rgw_file.cc +++ b/src/rgw/rgw_file.cc @@ -872,7 +872,8 @@ namespace rgw { (void) clock_gettime(CLOCK_MONOTONIC_COARSE, &now); /* !LOCKED */ - if (flags & RGW_READDIR_FLAG_DOTDOT) { + if ((*offset == 0) && + (flags & RGW_READDIR_FLAG_DOTDOT)) { /* send '.' and '..' with their NFS-defined offsets */ rcb(".", cb_arg, 1, RGW_LOOKUP_FLAG_DIR); rcb("..", cb_arg, 2, RGW_LOOKUP_FLAG_DIR); -- 2.39.5