Commit Graph

91025 Commits

Author SHA1 Message Date
Neha Ojha
76c57810ee osd/PrimaryLogPG.cc: reassign size only when object size > truncate_size
Before setting size equal to op.extent.truncate_size, we need to check
if the size of the object is greater than the truncate_size. We do not
need to set size to op.extent.truncate_size, in the case where the size of
the object is less than op.extent.truncate_size.

Without this change, we were always setting size =
op.extent.truncate_size, when (seq < op.extent.truncate_seq) and
(op.extent.offset + op.extent.length > op.extent.truncate_size), were both
true. This ended up in:

1. overestimating the size of the object
2. not considering the correct size of the object, for
   the later checks, which calculate op.extent.length for the read ops
3. causing crashes when trying to read more data than what was present

Fixes: http://tracker.ceph.com/issues/21931
Fixes: http://tracker.ceph.com/issues/22330

Signed-off-by: Neha Ojha <nojha@redhat.com>
2018-10-12 12:49:07 -07:00
Neha Ojha
07f7bd6942 osd: print offset and length to track trimtrunc
Signed-off-by: Neha Ojha <nojha@redhat.com>
2018-10-12 12:47:39 -07:00
Jason Dillaman
c60ffac61e
Merge pull request #24428 from trociny/wip-rbd-config-global
rbd: add 'config global' command to get/store overrides in mon config db

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
2018-10-11 10:50:33 -04:00
Sage Weil
bc4a306790 Merge PR #24541 into master
* refs/pull/24541/head:
	common/config.h: fix spelling error in this file

Reviewed-by: Sage Weil <sage@redhat.com>
2018-10-11 09:09:07 -05:00
Sage Weil
9d7473f78b Merge PR #24305 into master
* refs/pull/24305/head:
	msg/async: ProtocolV1: use continuations instead of direct function calls
	msg/async: ProtocolV1 state machine ascii diagram

Reviewed-by: Adam C. Emerson <aemerson@redhat.com>
2018-10-11 07:27:11 -05:00
Alfredo Deza
4e312b8751
Merge pull request #24404 from ceph/wip-batch-report-idempotent
ceph-volume: make `lvm batch` idempotent

Reviewed-by: Alfredo Deza <adeza@redhat.com>
2018-10-11 07:51:22 -04:00
xiaomanh
692abe1844 common/config.h: fix spelling error in this file
Signed-off-by: xiaomanh <huangxiaoman@cmss.chinamobile.com>
2018-10-11 18:00:51 +08:00
Boris Ranto
072bb4e178
Merge pull request #24425 from b-ranto/wip-ld-hardening
rpm: Use hardened LDFLAGS

Reviewed-by: Kefu Chai <kchai@redhat.com>
Reviewed-by: Tim Serong <tserong@suse.com>
Reviewed-by: Nathan Cutler <ncutler@suse.com>
2018-10-11 04:55:37 -05:00
Patrick Donnelly
d03a8302b5
Merge PR #23069 into master
* refs/pull/23069/head:
	tests/libcephfs: add simple reclaim test
	mds: check auth name before reclaiming session
	mds: reclaim session before allowing mds to become active
	mds: allow client to specify its session timeout
	mds: initial code for client states reclaim

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
2018-10-10 15:29:41 -07:00
Andrew Schoen
df7ef5383b ceph-volume: extracts batch.filter_devices from Batch._get_strategy
This allows us to easily provide tests for that method.

Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2018-10-10 15:30:30 -04:00
Andrew Schoen
172d4af9b9 ceph-volume: failing to get block db size from conf logs an exception
Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2018-10-10 15:30:29 -04:00
Andrew Schoen
aa4fcd602f ceph-volume: when all devices are filtered exit gracefully
Even if all devices are filtered we want to return a 0 exit code and
make sure the json reporting still works.

Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2018-10-10 15:30:29 -04:00
Andrew Schoen
fc9a10e548 ceph-volume: filter devices used by journals/block.db
If after filterering of data/block devices there are only
one device left it can not be used if it is an SSD and
has been used previously as a journal or block.db

Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2018-10-10 15:30:29 -04:00
Andrew Schoen
7f6bfaaf0c ceph-volume: add rotational property to Device class
Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2018-10-10 15:30:29 -04:00
Andrew Schoen
62426db799 ceph-volume: add info about filtered devices to batch pretty reports
Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2018-10-10 15:30:29 -04:00
Andrew Schoen
3b6d82afe7 ceph-volume: remove the used_by_ceph key in the json output
Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2018-10-10 15:30:28 -04:00
Andrew Schoen
1143482061 ceph-volume: fix idempotency checks for lvm batch tests
The mixed type tests will change strategy after the idempotency test so
we need to handle that in test playbook.

Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2018-10-10 15:30:28 -04:00
Andrew Schoen
b3cf90604d ceph-volume: fix bluestore strategy json reporting and type
Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2018-10-10 15:30:28 -04:00
Andrew Schoen
a7ee36ca92 ceph-volume: ignore failure to load ceph configuration for block.db size
If we fail to load a ceph configureation file when trying to get the
block.db size then just use defaults instead of throwing an error.

Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2018-10-10 15:30:28 -04:00
Andrew Schoen
1dd15025bf ceph-volume: fix strategy comparison in 'lvm batch'
This also fixes some small json reporting issues with the
filestore MixedType strategy

Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2018-10-10 15:30:28 -04:00
Andrew Schoen
9dfc00f8e1 ceph-volume: raise a non zero exit code if strategy changes with batch
Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2018-10-10 15:30:27 -04:00
Andrew Schoen
9752d03cc1 ceph-volume: add functional tests to ensure lvm batch is idempotent
Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2018-10-10 15:30:27 -04:00
Andrew Schoen
a28e6531e4 ceph-volume: add tests for util.device.Device.used_by_ceph
Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2018-10-10 15:30:27 -04:00
Andrew Schoen
36396229d3 ceph-volume: update tests to account for filtered_devices in batch
Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2018-10-10 15:30:27 -04:00
Andrew Schoen
6751253011 ceph-volume: consider block and data devices used_by_ceph
Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2018-10-10 15:30:27 -04:00
Andrew Schoen
0718d2e266 ceph-volume: add filtered_devices and used_by_ceph to all batch reports
Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2018-10-10 15:30:26 -04:00
Andrew Schoen
4529f2d605 ceph-volume: pick strategy for batch with only the unused devices
This will pick a strategy, filter out any devices already been used by
ceph and then pick a strategy again. If the strategy has changed the
call should error, if the strategy is the same proceed. If there are no
unused devices then the command is a noop.

Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2018-10-10 15:30:26 -04:00
Andrew Schoen
10f1d577d4 ceph-volume: adds a 'changed' key to lvm batch --report
This will indicate if the command would result in any OSDs being created
or not. Other tooling can use that key for idempotency checks.

Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2018-10-10 15:30:26 -04:00
Andrew Schoen
48d10c9ccf ceph-volume: adds used_by_ceph to filestore singletype batch report
Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2018-10-10 15:30:26 -04:00
Andrew Schoen
9d49a3708e ceph-volume: adds a used_by_ceph property to the Device class
Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2018-10-10 15:30:26 -04:00
Andrew Schoen
3dae3247ad ceph-volume: adds a lvs property to the Device class
Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2018-10-10 15:30:25 -04:00
Andrew Schoen
619810c0ef ceph-volume: add vg_name to the Device class
Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2018-10-10 15:30:25 -04:00
John Spray
ecb5845559
Merge pull request #24525 from jtlayton/k8s-no-module-warn
mgr/orchestrator: clarify error message about kubernetes python module

Reviewed-by: John Spray <john.spray@redhat.com>
2018-10-10 18:27:46 +01:00
Mykola Golub
c552f166c3
Merge pull request #24476 from dillaman/wip-35944
librbd: add new configuration option to always move deleted items to the trash

Reviewed-by: Mykola Golub <mgolub@suse.com>
2018-10-10 18:40:14 +03:00
Jason Dillaman
a6a2f395b7
Merge pull request #24512 from trociny/wip-qa-namespace-create_args
qa/workunits/rbd: force v2 image format for namespace test

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
2018-10-10 10:42:08 -04:00
Mykola Golub
b3e4d43c15 rbd: add 'config global' command to get/store overrides in mon config db
Signed-off-by: Mykola Golub <mgolub@suse.com>
2018-10-10 17:31:32 +03:00
Jason Dillaman
97950fec27 qa/workunits/rbd: test new move-to-trash on image remove config override
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2018-10-10 09:08:03 -04:00
Jason Dillaman
60b31cd919 librbd: optionally move image to trash when removed by user
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2018-10-10 09:08:02 -04:00
Jason Dillaman
24d05023ca librbd: move remove API method to api namespace
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2018-10-10 09:07:00 -04:00
Jason Dillaman
815177bd69 librbd: move trash API methods to api namespace
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2018-10-10 09:06:59 -04:00
Andrew Schoen
d95f032a21
Merge pull request #24407 from alfredodeza/wip-rm26953
ceph-volume: allow to specify --cluster-fsid instead of reading from ceph.conf

Reviewed-by: Andrew Schoen <aschoen@redhat.com>
2018-10-10 08:57:34 -04:00
Kefu Chai
77f771868b
Merge pull request #24515 from tchaikov/wip-cmake-rgw
cmake: do not use plain target_link_libraries(rgw_a ...)

Reviewed-by: Laura Paduano <lpaduano@suse.com>
Reviewed-by: Kai Wagner <kwagner@suse.com>
Reviewed-by: Casey Bodley <cbodley@redhat.com>
2018-10-10 20:32:02 +08:00
John Spray
67d147c00d
Merge pull request #23622 from renhwztetecs/renhw-wip-25103
mgr: fixup pgs show in unknown state

Reviewed-by: Kefu Chai <kchai@redhat.com>
Reviewed-by: John Spray <john.spray@redhat.com>
2018-10-10 13:28:33 +01:00
Ricardo Marques
41b2f24ddc
Merge pull request #24448 from votdev/bug_36325
mgr/dashboard: Performance counter progress bar keeps infinitely looping

Reviewed-by: Ricardo Marques <rimarques@suse.com>
Reviewed-by: Stephan Müller <smueller@suse.com>
2018-10-10 12:18:35 +01:00
John Spray
5a39f0a9aa
Merge pull request #23970 from noahdesu/mgr-always-on-mods-v2
mgr: always on modules v2

Reviewed-by: John Spray <john.spray@redhat.com>
2018-10-10 12:17:41 +01:00
John Spray
17778d217c
Merge pull request #24239 from votdev/python_ceph_audit_log
mgr: Add ability to trigger a cluster/audit log message from Python

Reviewed-by: John Spray <john.spray@redhat.com>
2018-10-10 11:47:49 +01:00
Kefu Chai
9bf16b6c31 cmake: do not use plain target_link_libraries(rgw_a ...)
this addresses following error:

CMake Error at src/rgw/CMakeLists.txt:178 (target_link_libraries):
  The plain signature for target_link_libraries has already been used
with
  the target "rgw_a".  All uses of target_link_libraries with a target
must
  be either all-keyword or all-plain.

  The uses of the plain signature are here:

   * src/rgw/CMakeLists.txt:168 (target_link_libraries)

Signed-off-by: Kefu Chai <kchai@redhat.com>
2018-10-10 18:29:03 +08:00
Kefu Chai
ce68d848c0
Merge pull request #24487 from badone/wip-undefined-references-to-dpdk-symbols
cmake/modules/BuildDPDK.cmake: Build required DPDK libraries

Reviewed-by: Kefu Chai <kchai@redhat.com>
2018-10-10 16:48:22 +08:00
Mykola Golub
5c5c0244ce
Merge pull request #24450 from dillaman/wip-rbd-conf-keys
librbd: simplify config override handling

Reviewed-by: Mykola Golub <mgolub@suse.com>
2018-10-10 11:01:50 +03:00
Mykola Golub
24e1a6bd47 qa/workunits/rbd: force v2 image format for namespace test
While here, fix test_locking too.

Signed-off-by: Mykola Golub <mgolub@suse.com>
2018-10-10 10:50:30 +03:00