]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
rgw_file: rgw_readdir can't list multi-segment dirs
authorMatt Benjamin <mbenjamin@redhat.com>
Mon, 20 Feb 2017 01:34:31 +0000 (20:34 -0500)
committerMatt Benjamin <mbenjamin@redhat.com>
Mon, 20 Feb 2017 01:44:08 +0000 (20:44 -0500)
commit2cd60ee9712291b906123aca1704288b18a9742b
treec6b11487c4996e7f19c969ba41b1b794306a6720
parent55eec1c0a0e136736961423b7b6244d0f3693c1a
rgw_file: rgw_readdir can't list multi-segment dirs

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.

Fixes: http://tracker.ceph.com/issues/18991
Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
src/rgw/rgw_file.h