crimson/osd: use a named type for user_modify

for better readability

Signed-off-by: Kefu Chai <tchaikov@gmail.com>
This commit is contained in:
Kefu Chai 2022-07-10 00:27:55 -04:00
parent 33f576a9c0
commit a3826d2ae5
2 changed files with 10 additions and 5 deletions

View File

@ -451,12 +451,12 @@ auto OpsExecuter::do_const_op(Func&& f) {
// Defined here because there is a circular dependency between OpsExecuter and PG
template <class Func>
auto OpsExecuter::do_write_op(Func&& f, bool um) {
auto OpsExecuter::do_write_op(Func&& f, OpsExecuter::modified_by m) {
++num_write;
if (!osd_op_params) {
osd_op_params.emplace();
}
user_modify = um;
user_modify = (m == modified_by::user);
return std::forward<Func>(f)(pg->get_backend(), obc->obs, txn);
}
OpsExecuter::call_errorator::future<> OpsExecuter::do_assert_ver(
@ -567,7 +567,7 @@ OpsExecuter::do_execute_op(OSDOp& osd_op)
case CEPH_OSD_OP_SETALLOCHINT:
return do_write_op([this, &osd_op](auto& backend, auto& os, auto& txn) {
return backend.set_allochint(os, osd_op, txn, delta_stats);
}, true);
});
case CEPH_OSD_OP_SETXATTR:
return do_write_op([this, &osd_op](auto& backend, auto& os, auto& txn) {
return backend.setxattr(os, osd_op, txn, delta_stats);
@ -655,7 +655,7 @@ OpsExecuter::do_execute_op(OSDOp& osd_op)
case CEPH_OSD_OP_WATCH:
return do_write_op([this, &osd_op](auto& backend, auto& os, auto& txn) {
return do_op_watch(osd_op, os, txn);
}, /* user modify=*/false);
}, modified_by::sys);
case CEPH_OSD_OP_LIST_WATCHERS:
return do_read_op([this, &osd_op](auto&, const auto& os) {
return do_op_list_watchers(osd_op, os);

View File

@ -232,8 +232,13 @@ private:
return do_const_op(std::forward<Func>(f));
}
enum class modified_by {
user,
sys,
};
template <class Func>
auto do_write_op(Func&& f, bool um=true);
auto do_write_op(Func&& f, modified_by m = modified_by::user);
decltype(auto) dont_do_legacy_op() {
return crimson::ct_error::operation_not_supported::make();