Re: [PATCH 2/2] Updated locking documentation for journal_t

From: Jan Kara
Date: Thu Feb 11 2021 - 04:44:21 EST


On Wed 10-02-21 10:57:38, Alexander Lochmann wrote:
> Some members of transaction_t are allowed to be read without
> any lock being held if consistency doesn't matter.
> Based on LockDoc's findings, we extended the locking
> documentation of those members.
> Each one of them is marked with a short comment:
> "no lock for quick racy checks".
>
> Signed-off-by: Alexander Lochmann <alexander.lochmann@xxxxxxxxxxxxxx>
> Signed-off-by: Horst Schirmeier <horst.schirmeier@xxxxxxxxxxxxxx>

This patch looks good. You can add:

Reviewed-by: Jan Kara <jack@xxxxxxx>

Honza

> ---
> include/linux/jbd2.h | 10 +++++-----
> 1 file changed, 5 insertions(+), 5 deletions(-)
>
> diff --git a/include/linux/jbd2.h b/include/linux/jbd2.h
> index 18f77d9b1745..4dca33a063dd 100644
> --- a/include/linux/jbd2.h
> +++ b/include/linux/jbd2.h
> @@ -768,7 +768,7 @@ enum passtype {PASS_SCAN, PASS_REVOKE, PASS_REPLAY};
> struct journal_s
> {
> /**
> - * @j_flags: General journaling state flags [j_state_lock]
> + * @j_flags: General journaling state flags [j_state_lock, no lock for quick racy checks]
> */
> unsigned long j_flags;
>
> @@ -808,7 +808,7 @@ struct journal_s
> /**
> * @j_barrier_count:
> *
> - * Number of processes waiting to create a barrier lock [j_state_lock]
> + * Number of processes waiting to create a barrier lock [j_state_lock, no lock for quick racy checks]
> */
> int j_barrier_count;
>
> @@ -821,7 +821,7 @@ struct journal_s
> * @j_running_transaction:
> *
> * Transactions: The current running transaction...
> - * [j_state_lock] [caller holding open handle]
> + * [j_state_lock, no lock for quick racy checks] [caller holding open handle]
> */
> transaction_t *j_running_transaction;
>
> @@ -1033,7 +1033,7 @@ struct journal_s
> * @j_commit_sequence:
> *
> * Sequence number of the most recently committed transaction
> - * [j_state_lock].
> + * [j_state_lock, no lock for quick racy checks].
> */
> tid_t j_commit_sequence;
>
> @@ -1041,7 +1041,7 @@ struct journal_s
> * @j_commit_request:
> *
> * Sequence number of the most recent transaction wanting commit
> - * [j_state_lock]
> + * [j_state_lock, no lock for quick racy checks]
> */
> tid_t j_commit_request;
>
> --
> 2.20.1
>
--
Jan Kara <jack@xxxxxxxx>
SUSE Labs, CR