Commit Graph

90194 Commits

Author SHA1 Message Date
Sage Weil
fe29c6ff52 osd: simplify init of fabricated pg
This was similar (but different) to the logic in PG::merge_from().  Do not
do any initialization here, and instead rely on merge_from() to do the
right thing.

Signed-off-by: Sage Weil <sage@redhat.com>
2018-09-20 08:35:53 -05:00
Sage Weil
e7f4291fe7 osd/PG: inherit pg history from merge source, if necessary
Having an accurate(ish) same_interval_since is important for making sure
any subsequent PastIntervals we add are consistent with the
last_epoch_clean value that the bounds are tested against.  Otherwise we
might have lec 100 and merge in 150, an interval changes gives us a pi of
[150,something) and we fail the bounds check.

Signed-off-by: Sage Weil <sage@redhat.com>
2018-09-20 08:35:15 -05:00
Sage Weil
2bfa241f44 osd/osd_types: increasing pg_num_pending is also an interval change
If we move into the premerge period (pg_num_pending < pg_num), that is a
new interval.  Moving out again (canceling the merge) is also a new
interval.

Signed-off-by: Sage Weil <sage@redhat.com>
2018-09-20 08:35:15 -05:00
Sage Weil
b8ac4361be osd: cancel pg merge if PGs are undersized
If the PG is undersized, cancel the PG merge attempt early.  Undersized is
a bad thing because it makes merge more dangerous.

It's also bad because the PG won't be fully clean when it finishes
peering, which means last_epoch_clean can be something far in the past,
and past_intervals won't be empty.  Since we also take the past_intervals
from the source PG, we want to be confident that it is valid.  It *should*
match up with the target PG since they should have mapped to the same
OSDs since they were both clean at the ReadyToMerge point--in fact, they
should both be empty.  If a PG mapping change snuck in such that they did
map somewhere else, though, the same set of mapping changes will have
applied to both the source and target, so it should be safe.

(It would be better of the mon rejected the ReadyToMerge if the
mapping with the latest OSDMap has changed since the message was sent.
If we do that the situation is even better, but this change is still
appropriate.)

Signed-off-by: Sage Weil <sage@redhat.com>
2018-09-20 08:35:15 -05:00
Sage Weil
6c6cf6360c mon/OSDMonitor: handle ready_to_merge message that cancels the merge
Signed-off-by: Sage Weil <sage@redhat.com>
2018-09-20 08:35:15 -05:00
Sage Weil
5b945583ef osd/PG: only signal ready_to_merge if we have all replicas
Only signal we are ready to merge if all replicas are in good shape.  If
they aren't, do nothing (yet).

Signed-off-by: Sage Weil <sage@redhat.com>
2018-09-20 08:35:15 -05:00
Sage Weil
4d1b78704a osd/PG: move all mark_clean-ish activity into try_mark_clean()
Keep it all in one place (try_mark_clean()).  The key behavioral change
is that we update last_epoch_clean and last_epoch_started when we are
peered too, only only when we are active.

Signed-off-by: Sage Weil <sage@redhat.com>
2018-09-20 08:35:15 -05:00
Sage Weil
15701e8c95 osd/PG: use last_epoch_clean from ReadyToMerge point in time for fabricated history
If we are fabricating the pg history values, we need something that is
reasonably valid, but that won't screw up peering of the PG by indicating
that the PG has peered at some point later than when it really has.
Otherwise we can end up in a situation where everyone thinks there is a
newer pg info out there that doesn't actually exist, and the PG will end
up as incomplete.

Signed-off-by: Sage Weil <sage@redhat.com>
2018-09-20 08:35:15 -05:00
Sage Weil
142317b2ac osd: send last_epoch_clean when indicating PG is ready to merge
The mon can put this in the pg_pool_t.

Signed-off-by: Sage Weil <sage@redhat.com>
2018-09-20 08:35:15 -05:00
Sage Weil
8af0ee92fa osd/osd_types: rename pg_num_pending_dec_epoch -> pg_num_dec_last_epoch_clean
Change the content of this field to be the last_epoch_clean for the PG
when it tells the mon it is ready to be merged.

This will later be used to populate the last_epoch_clean and
last_epoch_started fields in PG::merge_from() in certain corner cases.

Signed-off-by: Sage Weil <sage@redhat.com>
2018-09-20 08:35:15 -05:00
Sage Weil
e79adc5c66 osd,mon: stop setting pg_num_pending_dec_epoch
This doesn't have a user.  (It did once in the history leading up to the
pg merge, but the final version does not use this value.)

Signed-off-by: Sage Weil <sage@redhat.com>
2018-09-12 16:56:47 -05:00
Andrew Schoen
4a46abd901
Merge pull request #24060 from alfredodeza/wip-rm35913
ceph-volume batch: allow --osds-per-device, default it to 1

Reviewed-by: Andrew Schoen <aschoen@redhat.com>
2018-09-12 14:55:11 -05:00
Alfredo Deza
d1d68eade5 ceph-volume tests.lvm.strategies initial filestore validation
Signed-off-by: Alfredo Deza <adeza@redhat.com>
2018-09-12 14:58:52 -04:00
Alfredo Deza
9f14db4323 ceph-volume lvm.tests conftest fixtures for custom vgs
Signed-off-by: Alfredo Deza <adeza@redhat.com>
2018-09-12 14:58:51 -04:00
Alfredo Deza
2ced05a2bc ceph-volume tests.devices.lvm add bluestore strategy cases
Signed-off-by: Alfredo Deza <adeza@redhat.com>
2018-09-12 14:58:51 -04:00
Alfredo Deza
9167f76c2a ceph-volume tests verify strategy validators for minimum size
Signed-off-by: Alfredo Deza <adeza@redhat.com>
2018-09-12 14:58:51 -04:00
Alfredo Deza
66947537b5 ceph-volume lvm.batch.filestore allow osds-per-device
Signed-off-by: Alfredo Deza <adeza@redhat.com>
2018-09-12 14:58:51 -04:00
Sage Weil
4591f134c8 Merge PR #24025 into master
* refs/pull/24025/head:
	mon/OSDMonitor: reject pg_num -> 0

Reviewed-by: huangjun <huangjun@xsky.com>
Reviewed-by: Sage Weil <sage@redhat.com>
2018-09-12 11:51:58 -05:00
Sage Weil
1266d5ceb8 Merge PR #21611 into master
* refs/pull/21611/head:
	osd/ECBackend: don't get result code of subchunk-read overwritten

Reviewed-by: David Zafman <dzafman@redhat.com>
2018-09-12 11:47:13 -05:00
Sage Weil
bd084f8ac1 Merge PR #23273 into master
* refs/pull/23273/head:
	os/bluestore: handle spurious read errors

Reviewed-by: Sage Weil <sage@redhat.com>
Reviewed-by: Igor Fedotov <ifedotov@suse.com>
2018-09-12 11:46:56 -05:00
Sage Weil
a497276c33 Merge PR #23694 into master
* refs/pull/23694/head:
	mon: remove pre-luminous health output compatibility

Reviewed-by: Sage Weil <sage@redhat.com>
2018-09-12 11:46:42 -05:00
Sage Weil
9e7f2707b0 Merge PR #24035 into master
* refs/pull/24035/head:
	osd/PG: avoid choose_acting picking want with > pool size items

Reviewed-by: xie xingguo <xie.xingguo@zte.com.cn>
Reviewed-by: Neha Ojha <nojha@redhat.com>
2018-09-12 11:40:20 -05:00
Patrick Donnelly
29f159fdec
Merge PR #24052 into master
* refs/pull/24052/head:
	doc: update mds stat output

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
Reviewed-by: Zheng Yan <zyan@redhat.com>
2018-09-12 09:14:28 -07:00
Kefu Chai
cb29186e94
Merge pull request #24032 from liewegas/wip-pg-ls
mon/PGMap: include unknown PGs in 'pg ls'

Reviewed-by: xie xingguo <xie.xingguo@zte.com.cn>
Reviewed-by: David Zafman <dzafman@redhat.com>
2018-09-12 23:43:50 +08:00
Kefu Chai
a2d3049bbb
Merge pull request #24040 from rzarzynski/wip-common-bl-drop-raw_mmap_pages
common: drop the unused buffer::raw_mmap_pages.

Reviewed-by: Matt Benjamin <mbenjami@redhat.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>
2018-09-12 23:42:52 +08:00
Alfredo Deza
04a40eda0a ceph-volume lvm.batch.validators account for osds per device, include collocation
Signed-off-by: Alfredo Deza <adeza@redhat.com>
2018-09-12 11:35:41 -04:00
Alfredo Deza
028ef60df7 ceph-volume lvm.batch.bluestore allow osds-per-device with MixedType
Signed-off-by: Alfredo Deza <adeza@redhat.com>
2018-09-12 11:35:41 -04:00
Kefu Chai
cdfcb0f107
Merge pull request #24042 from liewegas/wip-merge-derr
osd: remove stray derr

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
Reviewed-by: Casey Bodley <cbodley@redhat.com>
2018-09-12 23:34:48 +08:00
Kefu Chai
748b7edd47
Merge pull request #23996 from mogeb/fmt-cmake
cmake: fix version matching for Findfmt

Reviewed-by: Kefu Chai <kchai@redhat.com>
2018-09-12 23:32:53 +08:00
Kefu Chai
1578875194
Merge pull request #24013 from dzafman/wip-35845
test: Use a grep pattern that works across releases

Reviewed-by: Kefu Chai <kchai@redhat.com>
2018-09-12 23:00:39 +08:00
Mykola Golub
e1508c0de8
Merge pull request #24045 from dillaman/wip-35702
librbd: fixed assert when flattening clone with zero overlap

Reviewed-by: Mykola Golub <mgolub@suse.com>
2018-09-12 17:48:15 +03:00
Lenz Grimmer
e03d228ab0
Merge pull request #24030 from LenzGr/mgr-dashboard-documentation
doc: Updated Mgr Dashboard documentation

Reviewed-by: Sebastian Wagner <swagner@suse.com>
Reviewed-by: Volker Theile <vtheile@suse.com>
2018-09-12 16:01:29 +02:00
John Spray
f9d57a0b55
Merge pull request #24055 from sebastian-philipp/kubejacker-opensuse-mimic
script/kubejacker: Add openSUSE based images

Reviewed-by: John Spray <john.spray@redhat.com>
2018-09-12 11:25:44 +01:00
Sebastian Wagner
143b8a7370 script/kubejacker: Add openSUSE based images
* Added executable bit of `kubejacker.sh`.
* Reduced the number of `RUN` commands
* Added zypper commands for SUSE.

Signed-off-by: Sebastian Wagner <sebastian.wagner@suse.com>
2018-09-12 10:32:53 +02:00
Jos Collin
1485e86a2c
doc: update mds stat output
Signed-off-by: Jos Collin <jcollin@redhat.com>
2018-09-12 10:27:22 +05:30
Jason Dillaman
8e90354433 librbd: fixed assert when flattening clone with zero overlap
Fixes: http://tracker.ceph.com/issues/35702
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2018-09-11 21:52:05 -04:00
xie xingguo
6d8d20a55b mon/OSDMonitor: reject pg_num -> 0
Otherwise it will finally crash the mgr process:
```
-2> 2018-09-11 16:23:31.272 7ff521d59700 -1 /clove/xxG/ceph/src/osd/osd_types.cc: In function 'pg_t pg_t::get_parent() const'
 thread 7ff521d59700 time 2018-09-11 16:23:31.272096
/clove/xxG/ceph/src/osd/osd_types.cc: 587: FAILED ceph_assert(bits)
```

Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
2018-09-12 08:58:10 +08:00
Jason Dillaman
d43ff1caf3
Merge pull request #23941 from trociny/wip-23445
librbd: flatten operation should use object map

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
2018-09-11 20:49:28 -04:00
Jason Dillaman
722724e829
Merge pull request #22675 from nuyhah/fix_block_name_prefix
librbd: block_name_prefix is not created randomly

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
2018-09-11 20:48:23 -04:00
Jason Dillaman
72b9179dea
Merge pull request #23790 from iridescent-rsy/myfix
librbd: remove template declaration of a non-template function

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
2018-09-11 20:48:08 -04:00
Jason Dillaman
c74432d031
Merge pull request #23853 from zy751713126/add_protect_snapshot_list
rbd: add protected in snap list

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
2018-09-11 20:47:52 -04:00
Jason Dillaman
bd97964b0e
Merge pull request #24009 from trociny/wip-test-migration-other-pool
test/librbd: migration tests did not delete additional pool

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
2018-09-11 20:46:02 -04:00
Sage Weil
4ed67996a3 osd: remove stray derr
This was debug output that crept into the final commit.

Signed-off-by: Sage Weil <sage@redhat.com>
2018-09-11 16:25:41 -05:00
hyun-ha
be8373688c librbd: block_name_prefix is not created randomly
fixes: http://tracker.ceph.com/issues/24634
Signed-off-by: hyun ha hyun.ha@navercorp.com
2018-09-11 15:28:14 -04:00
Sage Weil
3ccbec71ae mon/PGMap: allow 'pg ls unknown'
"unknown" is annoying because it is 0 and needs a special case.

Signed-off-by: Sage Weil <sage@redhat.com>
2018-09-11 14:01:22 -05:00
John Spray
86f3bcffa6
Merge pull request #23702 from Rubab-Syed/rgw-orchestrator-rook
mgr/orchestrator: Add RGW service support

Reviewed-by: John Spray <john.spray@redhat.com>
2018-09-11 19:36:26 +01:00
Sage Weil
64a046a078 mon/PGMap: include unknown PGs in 'pg ls [all]'
Signed-off-by: Sage Weil <sage@redhat.com>
2018-09-11 13:28:49 -05:00
Patrick Donnelly
39abfb4007
Merge PR #23908 into master
* refs/pull/23908/head:
	client: retry remount on dcache invalidation failure

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
Reviewed-by: Zheng Yan <zyan@redhat.com>
2018-09-11 11:27:23 -07:00
Patrick Donnelly
6df4d58037
Merge PR #23691 into master
* refs/pull/23691/head:
	client:two ceph-fuse client, one can not list out files created by another.

Reviewed-by: Zheng Yan <zyan@redhat.com>
2018-09-11 11:26:31 -07:00
Patrick Donnelly
bdd41451db
Merge PR #23323 into master
* refs/pull/23323/head:
	client: set f_files to the total number of files in the filesystem

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
2018-09-11 11:24:50 -07:00