implements the DataProcessor interface by writing its buffers with Aio,
and tracks the set of successful writes so they can be deleted on
failure/cancelation
Signed-off-by: Casey Bodley <cbodley@redhat.com>
Ceph requires C++17 support from compiler. This means gcc 7.x being
minimal version supported.
This also allows to fail quick on Debian 'stretch' with it's gcc 6.3
compiler.
Signed-off-by: Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>
MDS beacon upkeep always waits mds_beacon_interval seconds even when laggy.
Check more frequently for when we stop being laggy to reduce likelihood that
the MDS is removed.
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
function `set_stderr_level(-1, -1)` set m_stderr_log and m_stderr_crash to -1,
regardless of whether `err_to_stderr` is set to false or not, so logs will be
always written to stderr. fix it as the same way as handle_conf_change does.
Signed-off-by: Yan Jun <yan.jun8@zte.com.cn>
- block pgp_num increase if pg_num hasn't increased yet
- make no changes if there are inactive or unknown pgs
- make no changes if there are degraded pgs either. this might be a bit
conservative...
- calculate the magnitude of our adjusted based on the max_misplaced
target. this assumes a uniform distribution of objects across pgs,
so not perfectly accurate, but hopefully close enough.
Signed-off-by: Sage Weil <sage@redhat.com>
We can't merge until the PGs are stored together. (The mon would stop
us if we tried, but let's not waste time trying.)
Signed-off-by: Sage Weil <sage@redhat.com>
This is some of the same info we get in the json dump from
print_summary -> overall_recovery_summary -> recovery_summary.
Signed-off-by: Sage Weil <sage@redhat.com>
If we are waiting for a PG to merge we can't decrease more, but if we
were in the process of merging and an increase is requested, we can
abort the merge by increase pg_num_actual whenever we want.
Signed-off-by: Sage Weil <sage@redhat.com>
If we are in premerge (pg_num_pending == pg_num - 1) and abort by
increasing pg_num, we the last_force_op_resend_prenautilus since it will
be an interval change for nautlius+.
Signed-off-by: Sage Weil <sage@redhat.com>
Previously we were automatically adjusting pgp_num_target on a
pg_num_target change *only* when decreasing pg_num. Instead, make
pgp_num (continue to) track pg_num if it currently matches. If it ever
is set differently than pg_num, leave it different (unless/until it
matches again).
This is still slightly weird, but I think in practice it is good enough.
In the rare case that the admin manually sets pgp_num to something
different than pg_num, they probably won't also be using automagic
pg_num adjustment that might make them match and start tracking again.
Signed-off-by: Sage Weil <sage@redhat.com>
The textarea allows horizontal and vertical resize by default. Only the
vertical resize is appropriate for this form.
Fixes: http://tracker.ceph.com/issues/36452
Signed-off-by: Tatjana Dehler <tdehler@suse.com>
In the old ceph version, buffer advance length was defined as int, but
in async msg, the real length of data buffer was defined as unsigned.
Occassionly some MDS message back from OSD was too large, which caused
this length overflow and made MDS crash.
For compatibility reason, add an assertion here if buffer advance length
is overflow.
Fixes: http://tracker.ceph.com/issues/36340
Signed-off-by: Zhi Zhang <zhangz.david@outlook.com>