Casey Bodley
9826a11514
rgw: DataSyncSingleEntry loops based on progress
...
Signed-off-by: Casey Bodley <cbodley@redhat.com>
2020-04-13 14:08:18 -04:00
Casey Bodley
b65b5b5a9f
rgw: DataSyncSingleEntry does not duplicate bucket sync
...
Signed-off-by: Casey Bodley <cbodley@redhat.com>
2020-04-13 14:08:18 -04:00
Casey Bodley
04dc0d0d77
rgw: DataSyncSingleEntry takes cached state
...
Signed-off-by: Casey Bodley <cbodley@redhat.com>
2020-04-13 14:08:18 -04:00
Casey Bodley
a7d859ed2d
test/rgw: add unittest_rgw_bucket_sync_cache
...
Signed-off-by: Casey Bodley <cbodley@redhat.com>
2020-04-13 14:08:18 -04:00
Casey Bodley
8fdde41118
rgw: add data sync cache for bucket shards
...
Signed-off-by: Casey Bodley <cbodley@redhat.com>
2020-04-13 14:08:18 -04:00
Casey Bodley
dec531ad88
rgw: track last timestamp written for bucket sync
...
bucket sync remembers the latest timestamp that it successfully wrote to
the bucket sync status. data sync can use this to make future decisions
without having to reread its sync status
Signed-off-by: Casey Bodley <cbodley@redhat.com>
2020-04-13 14:08:18 -04:00
Mykola Golub
0bcaa26151
mgr/rbd_support: attempt to unregister watcher on mgr exit
...
Signed-off-by: Mykola Golub <mgolub@suse.com>
2020-04-13 18:47:35 +01:00
Mykola Golub
69259c8d37
mgr/rbd_support: make mirror_snapshot_schedule rescan only updated pools
...
Signed-off-by: Mykola Golub <mgolub@suse.com>
2020-04-13 18:45:41 +01:00
Kefu Chai
9eef41235a
Merge pull request #33989 from ifed01/wip-ifed-better-bluefs-expand
...
os/bluestore: open DB in read-only when expanding DB/WAL.
Reviewed-by: Adam Kupczyk <akucpzyk@redhat.com>
2020-04-14 00:28:22 +08:00
Kefu Chai
9070f9c90b
Merge pull request #33782 from aclamk/wip-alloc-aging-logging-simpler
...
os/bluestore: Simplified logic of sliding window.
Reviewed-by: Igor Fedotov <ifedotov@suse.com>
2020-04-14 00:25:43 +08:00
Kefu Chai
a79fc42188
Merge pull request #33434 from ifed01/wip-ifed-big-writes-deferred
...
os/bluestore: go deferred for 'big' writes.
Reviewed-by: Adam Kupczyk <akupczyk@redhat.com>
2020-04-14 00:25:24 +08:00
Kefu Chai
153f70c09f
Merge pull request #33715 from trociny/wip-pybind-rados-watch
...
pybind/rados: add watch object bindings
Reviewed-by: Jason Dillaman <dillaman@redhat.com>
2020-04-14 00:23:21 +08:00
Casey Bodley
0f16f13af8
rgw: store timestamp in InitBucketShardSyncStatus
...
Signed-off-by: Casey Bodley <cbodley@redhat.com>
2020-04-13 11:06:46 -04:00
Casey Bodley
217f57ebaa
rgw: add struct data_sync_obligation
...
Signed-off-by: Casey Bodley <cbodley@redhat.com>
2020-04-13 11:06:46 -04:00
Casey Bodley
dc533b9c16
rgw: add sync_single_entry() helper function
...
Signed-off-by: Casey Bodley <cbodley@redhat.com>
2020-04-13 11:06:46 -04:00
Casey Bodley
1ebe74ee8e
rgw: use optional for DataSyncShardMarkerTrack
...
Signed-off-by: Casey Bodley <cbodley@redhat.com>
2020-04-13 11:06:46 -04:00
Casey Bodley
5b97f04d37
rgw: parse bucket-shard before DataSyncSingleEntry
...
it's easier for DataSyncShard to handle parsing failures before calling
MarkerTrack::start() and DataSyncSingleEntry
Signed-off-by: Casey Bodley <cbodley@redhat.com>
2020-04-13 11:06:46 -04:00
Casey Bodley
d03fa0d310
rgw: data sync tracks timestamps for error repo
...
Signed-off-by: Casey Bodley <cbodley@redhat.com>
2020-04-13 11:06:46 -04:00
Casey Bodley
59df17f1d9
rgw: add error repo primitives with timestamp comparisons
...
the sync error repo stores omap keys for each datalog entry that needs a
retry. this adds a new primitive for that, that also stores a timestamp
with each omap key, and will only allow overwrites/removals when a newer
timestamp is provided
Signed-off-by: Casey Bodley <cbodley@redhat.com>
2020-04-13 11:06:46 -04:00
Casey Bodley
cbd2f7cf13
rgw: DataSyncShardCR uses GetOmapVals
...
Signed-off-by: Casey Bodley <cbodley@redhat.com>
2020-04-13 11:06:46 -04:00
Casey Bodley
5a64703fd6
rgw: add CR for omap_get_vals()
...
Signed-off-by: Casey Bodley <cbodley@redhat.com>
2020-04-13 11:06:46 -04:00
Casey Bodley
cfbd5807dd
rgw: incremental bucket sync status stores timestamp
...
Signed-off-by: Casey Bodley <cbodley@redhat.com>
2020-04-13 11:06:46 -04:00
Casey Bodley
01c601fb72
common: add [coarse_]real_time support to ceph_json.h
...
Signed-off-by: Casey Bodley <cbodley@redhat.com>
2020-04-13 11:06:46 -04:00
Casey Bodley
af2114a69b
rgw: don't write to error repo for async notification failures
...
async notifications are just hints, and don't imply an obligation to
sync the bucket shard. if we fail to sync, don't write it to the error
repo for retry. we'll see the change later when processing the datalog
Signed-off-by: Casey Bodley <cbodley@redhat.com>
2020-04-13 11:06:46 -04:00
Casey Bodley
703e40348a
rgw: remove unused RGWWaitCR
...
coroutines that want to sleep should just call RGWCoroutine::wait()
Signed-off-by: Casey Bodley <cbodley@redhat.com>
2020-04-13 11:06:46 -04:00
Casey Bodley
3f2e593120
Merge pull request #33982 from cbodley/wip-cls-cmpomap
...
cls/cmpomap: add cls module for CMPXATTR-like functionality in omap
Reviewed-by: Yuval Lifshitz <yuvalif@yahoo.com>
2020-04-13 11:03:28 -04:00
Varsha Rao
5b34a9bbf5
doc/SubmittingPatches: Fix 'Fixes line' hyperlink
...
Signed-off-by: Varsha Rao <varao@redhat.com>
2020-04-13 19:29:35 +05:30
Casey Bodley
e1acaef311
options: add cmpomap to osd_class_load_list
...
Signed-off-by: Casey Bodley <cbodley@redhat.com>
2020-04-13 09:23:44 -04:00
Casey Bodley
577f211391
test: add ceph_test_cls_cmpomap
...
Signed-off-by: Casey Bodley <cbodley@redhat.com>
2020-04-13 09:23:44 -04:00
Casey Bodley
3d5c8e982e
cls/cmpomap: add cls module for CMPXATTR-like functionality in omap
...
provides a cmp_vals() op similar to librados' omap_cmp(), but with full
support for the comparison modes and operations from cmpxattr(). if any
of the requested key/value comparisons are unsuccessful, the op fails
with -ECANCELED
cmp_vals() can be composed with other ops like set_omap_vals() to make
make them conditional on the successful comparison of all existing values
also provides cmp_set_vals() and cmp_rm_keys(), which apply a mutation
to only the keys that compare successfully. these enable batch
operations where, unlike cmp_vals() + set_omap_vals(), you don't want
one failed comparison to prevent operations on unrelated keys
Signed-off-by: Casey Bodley <cbodley@redhat.com>
2020-04-13 09:23:44 -04:00
Casey Bodley
68b02d9510
objclass: add cls_cxx_map_get_vals_by_keys
...
add an objclass api for CEPH_OSD_OP_OMAPGETVALSBYKEYS
Signed-off-by: Casey Bodley <cbodley@redhat.com>
2020-04-13 09:23:44 -04:00
Casey Bodley
ad990e8307
objclass: expose cls_cxx_map_get_val in header
...
this was defined in osd/objclass.cc but not declared in objclass/objclass.h
Signed-off-by: Casey Bodley <cbodley@redhat.com>
2020-04-13 09:23:44 -04:00
Casey Bodley
fd760174b5
buffer: add missing != operator for bufferlist
...
Signed-off-by: Casey Bodley <cbodley@redhat.com>
2020-04-13 09:23:44 -04:00
Casey Bodley
9f10d87318
buffer: comparison operators take const bufferlist&
...
Signed-off-by: Casey Bodley <cbodley@redhat.com>
2020-04-13 09:23:44 -04:00
Igor Fedotov
28c8e6e643
crimson: add HybridAllocator to alienstore build.
...
Signed-off-by: Igor Fedotov <ifedotov@suse.com>
2020-04-13 16:23:01 +03:00
Igor Fedotov
c27490e3d6
os/bluestore: improve adjustent extents merge in hybrid allocatoc
...
Bitmap counterpart is inspected for adjustent free extents when
releasing extent and trying to add it to AVL tree.
Signed-off-by: Igor Fedotov <ifedotov@suse.com>
2020-04-13 16:16:07 +03:00
Igor Fedotov
cccbc62528
os/bluestore: remove HybridAllocator::init_add_free method.
...
It's a 100% replica of AvlAllocator one which is inherited.
Signed-off-by: Igor Fedotov <ifedotov@suse.com>
2020-04-13 16:16:07 +03:00
Igor Fedotov
b682d9a8e8
os/bluestore: configure hybrid allocator threshold to fallback.
...
Signed-off-by: Igor Fedotov <ifedotov@suse.com>
2020-04-13 16:16:07 +03:00
Igor Fedotov
c90eee3495
os/bluestore: add hybrid (avl+bitmap) allocator
...
Signed-off-by: Igor Fedotov <ifedotov@suse.com>
2020-04-13 16:16:05 +03:00
Igor Fedotov
21532045ef
os/bluestore: do not require min_length to be power of two for bmap
...
allocator.
Signed-off-by: Igor Fedotov <ifedotov@suse.com>
2020-04-13 16:12:43 +03:00
Igor Fedotov
cccf94da46
os/bluestore: extend AvlAllocator interface.
...
Signed-off-by: Igor Fedotov <ifedotov@suse.com>
2020-04-13 16:12:43 +03:00
Igor Fedotov
719cd7d942
tests/test_bluestore_types: show AvlAllocator's range_seg_t size.
...
Extend corresponding test case to be aware of the struct's sizeof.
Signed-off-by: Igor Fedotov <ifedotov@suse.com>
2020-04-13 16:12:43 +03:00
Igor Fedotov
59c0aa5eb4
os/bluestore: make AvlAllocator overridable.
...
Signed-off-by: Igor Fedotov <ifedotov@suse.com>
2020-04-13 16:12:43 +03:00
Igor Fedotov
efedcc077c
os/bluestore: intdoduce spillover mechanics to AvlAllocator.
...
This to be utilized in AvlAllocator's descendant class(es) to be able
to limit amount of entries allocator tracks. Hence bringing a cap for
RAM used by the allocator.
Signed-off-by: Igor Fedotov <ifedotov@suse.com>
2020-04-13 16:12:43 +03:00
Jeff Layton
ae1bb9d55d
Merge pull request #34455 from jtlayton/wip-44963
...
client: only set MClientCaps::FLAG_SYNC when flushing dirty auth caps
2020-04-13 07:22:06 -04:00
Jeff Layton
444a4e7f9b
Merge pull request #33761 from jtlayton/wip-44441
...
doc: document wsync and nowsync mount options in mount.ceph(8)
2020-04-13 07:20:40 -04:00
fanjunwei
ca20021d9e
client: fix ceph-fuse parse command line failed
...
When add config fuse_max_write, then mount got error:
fuse: bad mount point `max_write=1048576': No such file or directory
Signed-off-by: fanjunwei <fanjunwei@t2cloud.net>
2020-04-13 18:17:42 +08:00
Maran Hidskes
115b3d7b7f
cephadm: warn when no valid version arguments are supplied to add-repo
...
Currently add-repo will add a broken repository by default, this commit gives a pretty error to instruct the user to use one of the version arguments.
Fixes #45029
Signed-off-by: Maran Hidskes <maran@protonmail.com>
2020-04-13 10:20:57 +02:00
Xiubo Li
62e9820c3e
qa/cephfs: scrub the subdir/ after data scan
...
This will make sure the rstat between subdir's inode and dirfrag
are matched.
Fixes: https://tracker.ceph.com/issues/44380
Signed-off-by: Xiubo Li <xiubli@redhat.com>
2020-04-13 00:13:35 -04:00
Kefu Chai
b176dcb3f9
Merge pull request #34231 from majianpeng/bluefs-fix-invalidate-cache-bug
...
os/bluestore: don't foreget invalidate cache of FileReaderBuffer.
Reviewed-by: Igor Fedotov <ifedotov@suse.com>
2020-04-13 11:03:32 +08:00