]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
posixdriver: fix cache fill of versioned buckets 67355/head 67402/head
authorMatt Benjamin <mbenjamin@redhat.com>
Sun, 15 Feb 2026 20:56:03 +0000 (15:56 -0500)
committerMatt Benjamin <mbenjamin@redhat.com>
Tue, 17 Feb 2026 17:39:20 +0000 (12:39 -0500)
commit96dc24fefaea7c4e44b6ec687aae08160a8e65ea
tree9047e0bd1c07bb7df1ab318491e1d7dc4e170279
parent9962452d790e941f48d4ffeac3aa5bfcf2ead6f2
posixdriver: fix cache fill of versioned buckets

This change completes the original intent (hypothesized) to
conditionally set the FLAG_CURRENT bit on just the current
entries during bucket listing cache fill.

This avoids interning 2 copies of the current version of each
object in the listing cache, and also correctly sets the
FLAG_CURRENT bit as required--so the current versions are correctly
reported in versioned listings.

Janky logic to find the current version by explicitly chasing
the symlink target and saving it outside the enumeration scope
has been replaced with proper call to stat() provided by Dang.

Symlink::fill_cache() is no longer used, so removed.

Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
src/rgw/driver/posix/rgw_sal_posix.cc
src/rgw/driver/posix/rgw_sal_posix.h