rgw: reverse logic to identify next part

Fixes: #7935
The check that identifies whether we need to move to the next part when
iterating over an object was reversed.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
librados: Add missing rados_wait_for_latest_osdmap()

Signed-off-by: David Zafman <david.zafman@inktank.com>
librados: Add missing C variants for alignment

Add rados_ioctx_pool_requires_alignment()
Add rados_ioctx_pool_required_alignment()

Signed-off-by: David Zafman <david.zafman@inktank.com>
test: Cleanup pools when FlushWriteRaces is done

Signed-off-by: David Zafman <david.zafman@inktank.com>
test: Fix ceph_test_rados_api_aio to clean up all test pools

Signed-off-by: David Zafman <david.zafman@inktank.com>
test: Fix ceph_test_rados_list_parallel to clean up test pool

Signed-off-by: David Zafman <david.zafman@inktank.com>
test: Add EC test classes RadosTestEC and RadosTestECPP

Fixes: #7437

Signed-off-by: David Zafman <david.zafman@inktank.com>
test: Add EC testing to ceph_test_rados_api_io

Signed-off-by: David Zafman <david.zafman@inktank.com>
test: Add EC testing to ceph_test_rados_api_list

Fixes: #7437

Signed-off-by: David Zafman <david.zafman@inktank.com>
test: Add EC testing to ceph_test_rados_api_stat

Signed-off-by: David Zafman <david.zafman@inktank.com>
test: Add EC to ceph_test_rados_api_watch_notify

Signed-off-by: David Zafman <david.zafman@inktank.com>
test: Add EC testing to ceph_test_rados_api_tier

Signed-off-by: David Zafman <david.zafman@inktank.com>
test: Add EC testing to ceph_test_rados_api_lock

Signed-off-by: David Zafman <david.zafman@inktank.com>
test: Add EC testing to ceph_test_rados_api_snaphots

Signed-off-by: David Zafman <david.zafman@inktank.com>
Merge pull request #1577 from ceph/wip-7935

rgw: reverse logic to identify next part

Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
Merge pull request #1578 from ceph/wip-7437

wip-7437

Reviewed-by: Samuel Just <sam.just@inktank.com>
mds: trim non-auth subtree more aggressively

When a non-auth dirfrag is pinned by uncommitted slave update,
there still can be non-auth child dirfrags that are trimmable.

Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
mds: don't start new segment while finishing disambiguate imports

This avoid inserting ESubtreeMap among EImportFinish events that
finish disambiguate imports. Because the ESubtreeMap reflects the
subtree state when all EImportFinish events are replayed.

Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
mds: treat cluster as degraded when there is clientreplay MDS

This forbids exporting subtrees and fragmenting dirfrags when there
is MDS in clientreplay state. During replaying client requests, the
MDS may need to authpin some remote objects. Exporting subtrees and
fragmenting dirfrags slow down replaying client requests.

Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
mds: handle freeze authpin race

For across authority rename, the MDS first freezes the source inode's
authpin. It happens while the source dentry isn't locked. So when the
inode's authpin become frozen, the source dentry may have changed and
be linked to a different inode.

Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>