This issue has one root cause in librgw, namely that the marker argument to these requests was incorrectly formatted (though the marker cache was working as intended).

Secondarily, for nfs-ganesha users, there is a compounding issue that the RGW fsal was required by "temporary" convention to populate the entire dirent cache for a directory on a single readdir() invocation--the cache_inode/mdcache implementations invariantly pass (before future 2.5 changesets, currently in progress) a null pointer for the start cookie offset, intended to convey this.