* refs/pull/18624/head:
mds: trim 'N' log segments according to how many log segments are there
Reviewed-by: John Spray <john.spray@redhat.com>
Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
the other one is located in src/spdk/dpdk, which is alwasy maintained and used by spdk.
so remove this src/dpdk folder, we only need maintain one copy.
Signed-off-by: chunmei <chunmei.liu@intel.com>
We have a race condition:
1. RGW client #1: requests an object be deleted.
2. RGW client #1: sends a prepare op to bucket index OSD #1.
3. OSD #1: prepares the op, adding pending ops to the bucket dir entry
4. RGW client #2: sends a list bucket to OSD #1
5. RGW client #2: sees that there are pending operations on bucket
dir entry, and calls check_disk_state
6. RGW client #2: check_disk_state sees that the object still exists, so it
sends CEPH_RGW_UPDATE to bucket index OSD (#1)
7. RGW client #1: sends a delete object to object OSD (#2)
8. OSD #2: deletes the object
9. RGW client #2: sends a complete op to bucket index OSD (#1)
10. OSD #1: completes the op
11. OSD #1: receives the CEPH_RGW_UPDATE and updates the bucket index
entry, thereby **RECREATING** it
Solution implemented:
At step #5 the object's dir entry exists. If we get to beginning of
step #11 and the object's dir entry no longer exists, we know that the
dir entry was just actively being modified, and ignore the
CEPH_RGW_UPDATE operation, thereby NOT recreating it.
Signed-off-by: J. Eric Ivancich <ivancich@redhat.com>
For auth caps that omit the gid, do not check for a gid match.
Fixes: http://tracker.ceph.com/issues/22009
Signed-off-by: Douglas Fuller <dfuller@redhat.com>
rgw: Delete to_string functions. stringify defined in include/stringify.h can provide the same feature.
Reviewed-by: Adam Emerson <aemerson@redhat.com>
the piecewise_construct overloads of map::emplace() are only needed when
there's ambiguity around which arguments go to which constructor
Signed-off-by: Casey Bodley <cbodley@redhat.com>
os/bluestore: do not release empty bluefs_extents_reclaiming.
Reviewed-by: Sage Weil <sage@redhat.com>
Reviewed-by: xie xingguo <xie.xingguo@zte.com.cn>
dpdk library will create threasds as many as bit 1 number in
ms_dpdk_coremask and the thredas num should be equal ms_async_op_threads+1,
by ceph default confiuration,ms_async_op_threads =3,ms_dpdk_coremask =1,
so dpdk library can't create enough threads for dpdk workers. the sytem
will stuck at NetworkStack::start().so set ms_dpdk_coremask default 0xF.
and add assert to comapre the two configurations.
Signed-off-by: chunmei <chunmei.liu@intel.com>
When generating random bucket name and object name during
loadgen processing, RGW will crash. The reason is calling
"gen_rand_alphanumeric" with "cct = NULL".
Fixes: http://tracker.ceph.com/issues/22006
Signed-off-by: Enming Zhang <enming.zhang@umcloud.com>
These two options currently share the same value and I have no particular
preference, but using osd_backfill_retry_interval for the specific scenario
gives us more flexible choices.
Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>