Commit Graph

80603 Commits

Author SHA1 Message Date
Jason Dillaman
f6db9b8027 librbd: copyup state machine needs to handle empty write ops
The compare-and-write object operation cannot be executed
concurrently within a copyup operation since the object might not
exist yet (if not performing a deep-copy).

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2017-11-16 07:31:59 -05:00
Jason Dillaman
e79c0cf200 librbd: object cacher should re-use read state machine
This adds support for sparse-reads and ensures all object reads
utilize a single, tested code path.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2017-11-16 07:31:59 -05:00
Jason Dillaman
62c3282b87 librbd: refactor io::ObjectReadRequest
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2017-11-16 07:31:59 -05:00
Jason Dillaman
ab0e558961 librbd: default template parameter for C_SparseReadRequest
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2017-11-16 07:31:59 -05:00
Jason Dillaman
284feb6a32 librbd: reduce lock scope when assembling read results
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2017-11-16 07:31:59 -05:00
Jason Dillaman
35ce1c2d39 librbd: ObjectReadRequest does not require buffer extents
The ReadResult wrapper requires the buffer extents to know
how to properly reconstruct the out buffer.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2017-11-16 07:31:59 -05:00
Jason Dillaman
654a78fa54 librbd: templatize IO object request state machines
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2017-11-16 07:31:59 -05:00
Jason Dillaman
c4e5613e4a test/librados_test_stub: mocked remainder of IO ops used by librbd
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2017-11-16 07:31:59 -05:00
Jason Dillaman
4b851ce0fa test/librados_test_stub: simulate set_alloc_hint creating a non-existent file
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2017-11-16 07:31:59 -05:00
Mykola Golub
845341ce66
Merge pull request #18952 from dillaman/wip-test-librbd
test/librbd: clean up for several mock function tests

Reviewed-by: Mykola Golub <to.my.trociny@gmail.com>
2017-11-16 13:34:28 +02:00
Mykola Golub
3b741bd5c0
Merge pull request #18947 from dillaman/wip-22131
rbd-nbd: certain kernels may not discover resized block devices

Reviewed-by: Mykola Golub <to.my.trociny@gmail.com>
2017-11-16 13:32:46 +02:00
Mykola Golub
133785573b
Merge pull request #18909 from dillaman/wip-22120
librbd: possible deadlock with synchronous maintenance operations

Reviewed-by: Mykola Golub <to.my.trociny@gmail.com>
2017-11-16 13:30:18 +02:00
Mykola Golub
956f3c8bfe
Merge pull request #18923 from dillaman/wip-21966
librbd: prevent overflow of discard API result code

Reviewed-by: Mykola Golub <to.my.trociny@gmail.com>
2017-11-16 13:28:51 +02:00
Jos Collin
407238a42c
Merge pull request #18918 from ZVampirEM77/wip-em-rewrite-cmd
rgw: add rewrite cmd and options into radosgw-admin usage and doc

Reviewed-by: Casey Bodley <cbodley@redhat.com>
Reviewed-by: Jos Collin <jcollin@redhat.com>
2017-11-16 10:25:32 +05:30
Enming Zhang
cefa401072 rgw: add rewrite related cmd and parameter into radosgw-admin help info
+ radosgw-admin object rewrite
+ radosgw-admin bucket rewrite
+ --min-rewrite-size
+ --max-rewrite-size
+ --min-rewrite-stripe-size

Signed-off-by: Enming Zhang <enming.zhang@umcloud.com>
2017-11-16 11:15:40 +08:00
Josh Durgin
e81a7ffcda
Merge pull request #18808 from tchaikov/wip-qa-max-pg-per-osd
qa: do not wait for down/out osd for pg convergence

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
2017-11-15 18:05:58 -08:00
Jason Dillaman
87c1dc5181
Merge pull request #15788 from vshankar/mirror-ha-poolwatcher-policy
rbd-mirror: track images in policy map in support of A/A

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
2017-11-15 20:24:32 -05:00
Casey Bodley
27791852f8
Merge pull request #18953 from cbodley/wip-22139
common: fix BoundedKeyCounter const_pointer_iterator

Reviewed-by: Willem Jan Withagen <wjw@digiware.nl>
2017-11-15 18:24:59 -05:00
Casey Bodley
fa034b6998 common: fix BoundedKeyCounter const_pointer_iterator
with libc++, clang fails to compile a call to:

  vector::assign(const_pointer_iterator, const_pointer_iterator)

because const_pointer_iterator does not satisfy the InputIterator
concept. added the necessary typedefs for value_type and reference
to reflect the pointer type

Fixes: http://tracker.ceph.com/issues/22139

Signed-off-by: Casey Bodley <cbodley@redhat.com>
2017-11-15 16:31:27 -05:00
Jason Dillaman
bc231942ba test/librbd: fixed gmock uninteresting function call warnings
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2017-11-15 15:46:24 -05:00
Jason Dillaman
260a4226e4 test/librbd: eliminate sleeps within deep-copy mock tests
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2017-11-15 15:35:22 -05:00
Casey Bodley
297cd6cc4c
Merge pull request #18883 from cbodley/wip-22083+
rgw: set num_shards on 'radosgw-admin data sync init'

Reviewed-by: Orit Wasserman <owasserm@redhat.com>
Reviewed-by: Abhishek Lekshmanan <abhishek@suse.com>
2017-11-15 14:51:14 -05:00
Casey Bodley
90e860c25b rgw: set num_shards on 'radosgw-admin data sync init'
Fixes: http://tracker.ceph.com/issues/22083

Signed-off-by: Casey Bodley <cbodley@redhat.com>
2017-11-15 14:02:13 -05:00
Casey Bodley
662b02489c dencoder/rgw: expose rgw sync status types
Signed-off-by: Casey Bodley <cbodley@redhat.com>
2017-11-15 14:02:12 -05:00
Jason Dillaman
0ccd26f998 librbd: added missing locks for snap rollback and rename
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2017-11-15 13:25:36 -05:00
Jason Dillaman
abd2e0ac94
Merge pull request #18940 from trociny/wip-valgrind-DeadLockOwner
test/librbd: valgrind warning in TestMockManagedLockBreakRequest.DeadLockOwner

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
2017-11-15 12:57:30 -05:00
Yuri Weinstein
c9dbb86dc4
Merge pull request #17761 from cbodley/wip-rgw-bilog-trim
rgw multisite: automated trimming for bucket index logs

Reviewed-by: Yehuda Sadeh <yehuda@redhat.com>
2017-11-15 09:04:50 -08:00
Yuri Weinstein
cb478558f3
Merge pull request #18811 from oritwas/wip-rgw-22046
tenant fixes for dynamic resharding

Reviewed-by: Casey Bodley <cbodley@redhat.com>
2017-11-15 09:04:05 -08:00
Yuri Weinstein
d1c0777470
Merge pull request #18920 from yaozongyou/wip-ceph-dencoder-add-types
ceph-dencoder: add support for cls_rgw_lc_obj_head

Reviewed-by: Casey Bodley <cbodley@redhat.com>
2017-11-15 09:03:26 -08:00
Casey Bodley
b761a17409
Merge pull request #18946 from joscollin/wip-add-cbodley
.githubmap: Add cbodley

Reviewed-by: Casey Bodley <cbodley@redhat.com>
2017-11-15 11:24:19 -05:00
Casey Bodley
71a8f8deff
Merge pull request #18900 from qrGitHub/master
rgw.iam: change '1' to '1ULL' in function print_actions

Reviewed-by: Adam C. Emerson <aemerson@redhat.com>
2017-11-15 11:04:59 -05:00
Jason Dillaman
6a335481d2 librbd: invalidating the cache shouldn't hold write lock
This can cause deadlock when readahead is in-progress since neither
can make forward progress.

Fixes: http://tracker.ceph.com/issues/22131
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2017-11-15 10:35:16 -05:00
Jason Dillaman
db13e47574 rbd-nbd: rescan partition table after image resize event
Fixes: http://tracker.ceph.com/issues/22131
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2017-11-15 10:34:32 -05:00
Jos Collin
80d36a1132 .githubmap: Add cbodley
Signed-off-by: Jos Collin <jcollin@redhat.com>
2017-11-15 21:01:45 +05:30
Jos Collin
e2d9d81f86
Merge pull request #18921 from Leeshine/wip-data-sync-cmd
rgw: add metadata and data sync related cmd into radosgw-admin usage

Reviewed-by: Casey Bodley <cbodley@redhat.com>
Reviewed-by: Jos Collin <jcollin@redhat.com>
2017-11-15 20:58:58 +05:30
lvshanchun
8f56897c43 rgw: add data sync related cmd into radosgw-admin help info
+ radosgw-admin data sync status
+ radosgw-admin data sync init
+ radosgw-admin data sync run

Signed-off-by: lvshanchun <lvshanchun@gmail.com>
2017-11-15 10:52:20 -05:00
Leeshine
677bd52b4a rgw: add metadata sync related cmd into radosgw-admin help info
+ radosgw-admin metadata sync status
+ radosgw-admin metadata sync init
+ radosgw-admin metadata sync run

Signed-off-by: lvshanchun <lvshanchun@gmail.com>
2017-11-15 10:49:24 -05:00
Jason Dillaman
3effd324db librbd: prevent overflow of discard API result code
Prevent discard/writesame lengths larger than 2GB.

Fixes: http://tracker.ceph.com/issues/21966
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2017-11-15 09:20:26 -05:00
Mykola Golub
beda1e8239 test/librbd: valgrind warning in TestMockManagedLockBreakRequest.DeadLockOwner
When running with 'debug_rbd >= 20':

  Conditional jump or move depends on uninitialised value(s)
    by 0x94277B: operator<< (ostream:167)
    by 0x94277B: librbd::managed_lock::BreakRequest<librbd::(anonymous namespace)::MockTestImageCtx>::handle_get_watchers(int) (BreakRequest.cc:101)

Signed-off-by: Mykola Golub <to.my.trociny@gmail.com>
2017-11-15 10:20:58 +02:00
Kefu Chai
8ce46e4aef
Merge pull request #18905 from ifed01/wip-bluestore-recalc-alloc
os/bluestore: remove ineffective BlueFS fnode extent calculation.

Reviewed-by: Sage Weil <sage@redhat.com>
2017-11-15 12:30:11 +08:00
Kefu Chai
78c7505b69
Merge pull request #18903 from jan--f/jan-mgr-prometheus-unkown-pgstate
pybind/mgr/prometheus: don't crash when encountering an unknown PG state

Reviewed-by: John Spray <john.spray@redhat.com>
2017-11-15 12:20:16 +08:00
Kefu Chai
730b2d9388
Merge pull request #18885 from dzafman/wip-22112
ceph-objectstore-tool: Fix set-size to clear data_digest if changing …

Reviewed-by: Kefu Chai <kchai@redhat.com>
2017-11-15 12:18:58 +08:00
Kefu Chai
267b97ea67
Merge pull request #18622 from majianpeng/bluestore-opseq
os/bluestore: OpSequencer: reduce kv_submitted_waiters if _is_all_kv_submitted() return true.

Reviewed-by: Igor Fedotov <ifedotov@suse.com>
2017-11-15 12:17:05 +08:00
Jason Dillaman
09070016f5 Merge pull request #17032 from yangdongsheng/rbd_qos
rbd: implement image qos in tokenbucket algorithm

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
2017-11-14 19:58:13 -05:00
Jason Dillaman
16715eccdc
Merge pull request #18483 from Songweibin/wip-list-children2
rbd: fix rbd children listing when child is in trash

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
2017-11-14 16:14:14 -05:00
Yehuda Sadeh
6b764a90c2
Merge pull request #18007 from yehudasa/wip-rgw-config-desc
options.cc: document rgw config options

Reviewed-by: Matt Benjamin <mbenjami@redhat.com>
Reviewed-by: Abhishek Lekshmanan <alekshmanan@suse.com>
Reviewed-by: Casey Bodley <cbodley@redhat.com>
2017-11-14 15:31:28 -05:00
Sage Weil
3aacde07fa
Merge pull request #18894 from liewegas/wip-fix-balancer
mgr/balancer: skip CRUSH_ITEM_NONE

Reviewed-by: Kefu Chai <kchai@redhat.com>
Reviewed-by: John Spray <john.spray@redhat.com>
2017-11-14 11:01:46 -06:00
Yuri Weinstein
21574aedd3
Merge pull request #18763 from cfanz/master
rgw: don't write bucket_header when it is not changed in rgw_bucket_prepare_op

Reviewed-by: Casey Bodley <cbodley@redhat.com>
2017-11-14 08:19:06 -08:00
Yuri Weinstein
d45fdd7885
Merge pull request #18852 from theanalyst/wip-22083
rgw: data sync: set num_shards when building full maps

Reviewed-by: Casey Bodley <cbodley@redhat.com>
Reviewed-by: Orit Wasserman <owasserm@redhat.com>
2017-11-14 08:17:42 -08:00
Yuri Weinstein
f8b7c3e3ae
Merge pull request #18866 from cbodley/wip-22101
rgw: RGWEnv::set() takes std::string

Reviewed-by: Willem Jan Withagen <wjw@digiware.nl>
2017-11-14 08:16:38 -08:00