This fixes errors caused by remount done by some tests (test_recovery_pool.py)
where the fs name is not given.
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
The MDS may not be on the same machine where the cluster command is run.
Fixes: http://tracker.ceph.com/issues/24858
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
* refs/pull/21885/head:
qa: update cluster log health warning message
qa: add tests for client features
mds: evict clients that lack required features
mds: cleanup MDSRank::evict_client
mds: infer client version by client metadata and connection's features
mds: introduce "ceph fs set <fs_name> min_compat_client <release_name>"
mds: tell client why it's rejected
mds: introduce cephfs' own feature bits
mds: make Server::prepare_force_open_sessions() update client metadata
Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
The existing logic appears able to cause propagation of a failed
exclusive create to the client, when it should instead have been
retried, due to disagreement about the logical write offset. (The
value of ofs here could be > 0 due to the operation of a stacked
write filter [e.g., compressor], when the RADOS write offset was
0 and hence an exclusive write that should be retried).
Rationale for fix by Casey.
http://tracker.ceph.com/issues/22790
Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
we can just filter out ceph options from command line args instead of
parsing config in env variables, conf files and argvs.
the config-parsing steps were modeled after the ones in rbd-nbd.cc, but
the whole purpose of reading configurations from env/conf-file is to get
the "rbd_default_pool" for setting cfg->poolname. apparently, this does
not apply to rbd-ggate, where global_init() will take care of all the
trivial work to populate the settings. moreover, `config` is not
read after being initialized in main.cc. so drop it.
Signed-off-by: Mykola Golub <mgolub@suse.com>
Signed-off-by: Kefu Chai <kchai@redhat.com>
The function is used for opening sessions for importing caps. It didn't
set client metadata for new sessions.
Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
unittest_seastar_echo cannot be run as unittest w/o starting two
instances.
unittest_seastar_messenger times out. need to RCA it.
Signed-off-by: Kefu Chai <kchai@redhat.com>
Having lots of deletes will mean deletes on objects that don't exist,
which will in turn mean error log entries and more coverage of the
append_log_entries_update_missing code. Hopefully this will trigger
http://tracker.ceph.com/issues/24597
Signed-off-by: Sage Weil <sage@redhat.com>
The log trimming case wasn't quite right. Before HEAD^ we were
rolling forward too aggressively and miscalculating the can_rollforward_to,
which affected the trim_to calculation.
Signed-off-by: Sage Weil <sage@redhat.com>
If we are told we can roll forward by the primary, we should only roll
forward as far as the primary says we can.
This probably came out of the similar case in append_log(), but notably
that roll_forward() only happens if !transaction_applied (i.e., backfill
target), and that condition is not checked here.
Fixes: http://tracker.ceph.com/issues/24597
Signed-off-by: Sage Weil <sage@redhat.com>