Whamcloud - gitweb
LU-13582 out: make tx abort verbose 91/53891/6
authorAlexander Zarochentsev <alexander.zarochentsev@hpe.com>
Fri, 2 Feb 2024 16:39:39 +0000 (16:39 +0000)
committerOleg Drokin <green@whamcloud.com>
Sat, 22 Feb 2025 23:41:00 +0000 (23:41 +0000)
A distributed transaction abort and rollback of already
done updates indicates insufficient locking or fs metadata
inconsistency and should be reported to the console at least
as a warning.

Signed-off-by: Alexander Zarochentsev <alexander.zarochentsev@hpe.com>
Change-Id: Id1127d422d19725eeb425e028ff854769cf312d5
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/53891
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andrew Perepechko <andrew.perepechko@hpe.com>
Reviewed-by: Alex Zhuravlev <bzzz@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
lustre/target/out_handler.c
lustre/target/update_recovery.c

index 58b829c..02944d0 100644 (file)
@@ -906,9 +906,9 @@ static int out_tx_end(const struct lu_env *env, struct thandle_exec_args *ta,
                rc = ta->ta_args[i]->exec_fn(env, ta->ta_handle,
                                             ta->ta_args[i]);
                if (unlikely(rc != 0)) {
-                       CDEBUG(D_INFO, "error during execution of #%u from"
-                              " %s:%d: rc = %d\n", i, ta->ta_args[i]->file,
-                              ta->ta_args[i]->line, rc);
+                       CWARN("%s: error during execution of #%u from %s:%d: rc = %d\n",
+                             dt_obd_name(ta->ta_handle->th_dev), i,
+                             ta->ta_args[i]->file, ta->ta_args[i]->line, rc);
                        while (--i >= 0) {
                                if (ta->ta_args[i]->undo_fn != NULL)
                                        ta->ta_args[i]->undo_fn(env,
index b29945b..6f2c6b6 100644 (file)
@@ -1380,9 +1380,9 @@ int distribute_txn_replay_handle(struct lu_env *env,
                                                   st->st_sub_th, dtrq, ta_arg);
 
                if (unlikely(rc < 0)) {
-                       CDEBUG(D_HA, "error during execution of #%u from"
-                              " %s:%d: rc = %d\n", i, ta->ta_args[i]->file,
-                              ta->ta_args[i]->line, rc);
+                       CWARN("%s: error during execution of #%u from %s:%d: rc = %d\n",
+                             dt_obd_name(ta->ta_handle->th_dev), i,
+                             ta->ta_args[i]->file, ta->ta_args[i]->line, rc);
                        while (--i > 0) {
                                if (ta->ta_args[i]->undo_fn != NULL) {
                                        dt_obj = ta->ta_args[i]->object;