]> git.hungrycats.org Git - linux/commitdiff
jbd2: correctly compare tids with tid_geq function in jbd2_fc_begin_commit
authorKemeng Shi <shikemeng@huaweicloud.com>
Thu, 1 Aug 2024 01:38:08 +0000 (09:38 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 10 Oct 2024 10:00:54 +0000 (12:00 +0200)
commit f0e3c14802515f60a47e6ef347ea59c2733402aa upstream.

Use tid_geq to compare tids to work over sequence number wraps.

Signed-off-by: Kemeng Shi <shikemeng@huaweicloud.com>
Reviewed-by: Jan Kara <jack@suse.cz>
Reviewed-by: Zhang Yi <yi.zhang@huawei.com>
Cc: stable@kernel.org
Link: https://patch.msgid.link/20240801013815.2393869-2-shikemeng@huaweicloud.com
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
fs/jbd2/journal.c

index 7635e54110122e190e86dec3dce89087b5ef4a4f..cca73b8282d1e8bff43bcaead082ba723902e673 100644 (file)
@@ -725,7 +725,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;
        }