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