[PATCH v2] Updated locking documentation for transaction_t
From: Alexander Lochmann
Date: Mon Mar 18 2019 - 14:43:18 EST
We used LockDoc to derive locking rules for each member
of struct transaction_t.
Based on those results, we extended the existing documentation
by more members of struct inode, and updated the existing
documentation.
Signed-off-by: Alexander Lochmann <alexander.lochmann@xxxxxxxxxxxxxx>
Signed-off-by: Horst Schirmeier <horst.schirmeier@xxxxxxxxxxxxxx>
---
include/linux/jbd2.h | 10 ++++++----
1 file changed, 6 insertions(+), 4 deletions(-)
diff --git a/include/linux/jbd2.h b/include/linux/jbd2.h
index 0f919d5fe84f..72f689746340 100644
--- a/include/linux/jbd2.h
+++ b/include/linux/jbd2.h
@@ -534,6 +534,7 @@ struct transaction_chp_stats_s {
* The transaction keeps track of all of the buffers modified by a
* running transaction, and all of the buffers committed but not yet
* flushed to home for finished transactions.
+ * (Locking Documentation improved by LockDoc)
*/
/*
@@ -585,7 +586,8 @@ struct transaction_s
} t_state;
/*
- * Where in the log does this transaction's commit start? [no locking]
+ * Where in the log does this transaction's commit start?
+ * [journal_t.j_state_lock]
*/
unsigned long t_log_start;
@@ -647,17 +649,17 @@ struct transaction_s
unsigned long t_max_wait;
/*
- * When transaction started
+ * When transaction started [journal_t.j_state_lock]
*/
unsigned long t_start;
/*
- * When commit was requested
+ * When commit was requested [journal_t.j_state_lock]
*/
unsigned long t_requested;
/*
- * Checkpointing stats [j_checkpoint_sem]
+ * Checkpointing stats [journal_t.j_list_lock]
*/
struct transaction_chp_stats_s t_chp_stats;
--
2.20.1