mirror of
https://github.com/ceph/ceph
synced 2025-01-31 23:44:10 +00:00
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:
parent
33f576a9c0
commit
a3826d2ae5
@ -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);
|
||||
|
@ -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();
|
||||
|
Loading…
Reference in New Issue
Block a user