]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
rgw/posix: fix event replay in BucketCache ev_loop 69183/head
authorKefu Chai <k.chai@proxmox.com>
Sat, 30 May 2026 07:49:18 +0000 (15:49 +0800)
committerKefu Chai <k.chai@proxmox.com>
Sat, 30 May 2026 09:45:42 +0000 (17:45 +0800)
evec is never cleared after each n->notify() call, so events accumulate
across iterations of ev_loop's inner for loop. Each notify() call
receives not just the current event but all events dispatched in earlier
iterations too.

Add evec.clear() after each n->notify() call.

Signed-off-by: Kefu Chai <k.chai@proxmox.com>
src/rgw/driver/posix/notify.h

index bdfd5ec582ab04922c402c45a749d83f3f54dcd3..d840932f8bd1b54093697deac9de1ab6870dbedc 100644 (file)
@@ -204,6 +204,7 @@ namespace file::listing {
            } /* !overflow */
            if (evec.size() > 0) {
              n->notify(watch_name, watch_opaque, evec);
+             evec.clear();
            }
          } /* events */
        } /* n > 0 */