From: Kemeng Shi Date: Thu, 1 Aug 2024 01:38:08 +0000 (+0800) Subject: jbd2: correctly compare tids with tid_geq function in jbd2_fc_begin_commit X-Git-Tag: v5.10.227~136 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=7fabacb337f04b58dc2f06a8fbecc06abac78011;p=thirdparty%2Fkernel%2Fstable.git jbd2: correctly compare tids with tid_geq function in jbd2_fc_begin_commit commit f0e3c14802515f60a47e6ef347ea59c2733402aa upstream. Use tid_geq to compare tids to work over sequence number wraps. Signed-off-by: Kemeng Shi Reviewed-by: Jan Kara Reviewed-by: Zhang Yi Cc: stable@kernel.org Link: https://patch.msgid.link/20240801013815.2393869-2-shikemeng@huaweicloud.com Signed-off-by: Theodore Ts'o Signed-off-by: Greg Kroah-Hartman --- diff --git a/fs/jbd2/journal.c b/fs/jbd2/journal.c index 205e6c7c2fd0c..972f30f527bb4 100644 --- a/fs/jbd2/journal.c +++ b/fs/jbd2/journal.c @@ -740,7 +740,7 @@ int jbd2_fc_begin_commit(journal_t *journal, tid_t tid) return -EINVAL; write_lock(&journal->j_state_lock); - if (tid <= journal->j_commit_sequence) { + if (tid_geq(journal->j_commit_sequence, tid)) { write_unlock(&journal->j_state_lock); return -EALREADY; }