From nobody Fri Oct 18 04:20:08 2024 Received: from out-183.mta0.migadu.com (out-183.mta0.migadu.com [91.218.175.183]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 7A37415B551 for ; Wed, 24 Jul 2024 16:11:32 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=91.218.175.183 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1721837495; cv=none; b=Qa6/2PFIUs4IU6z1dlv48kX2NKxpGGykSlVful4EdxIlIa67zzS3ngn3kb4jijYJlr1OsoTsHj1ESihPJIZnR+sjQtlN/wNS9IIlpaJn6Hi6/6wKN8o8tyu5HzAPh30zxvVMhcrcN3qBBI4EEkCDew0G5lg8bA9LpEbnFOzLouw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1721837495; c=relaxed/simple; bh=PZMSdd5O+wZR6bDKU7Sz+d5ZYUTuW61Rr7dJPfO1bYk=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=lHqgGM8z/x3CfaTqkSKpI3iL5tub1oO1Pi2w/gn1HiJoJ3v7HVB+BM22GHJxfeBuXOaOlijMyMxt2NbapbVGGgj9JphBOu2HZdqpu2BklmwYuIiOT5zXhdbzIjxoiV6U99itti65xaw4Ok6/ysZyfHCd5EXTci1GkrjKWOdQdhM= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.dev; spf=pass smtp.mailfrom=linux.dev; dkim=pass (1024-bit key) header.d=linux.dev header.i=@linux.dev header.b=AOYmxGl0; arc=none smtp.client-ip=91.218.175.183 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.dev Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linux.dev Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linux.dev header.i=@linux.dev header.b="AOYmxGl0" X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1; t=1721837490; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=/8eUEiMtXmowiLjgwuyQYnrkesxiYhQ4jTAv0qVnggo=; b=AOYmxGl00clGEmPjqA5s+BtPbn28FSWxU68Z2zn7ZT9XTY4Z26jgw0F+nDEm4T4FO4yGEr zp3UXmvp87pRuokHlN+9blxP5WqiZiGs2XDHut6wVwqRSzJjx50kOlBhUyyqU/Odt0CybQ +TtAGxzI8KNB6x7kLAmfPeIlf/YoWqs= From: "Luis Henriques (SUSE)" To: Theodore Ts'o , Andreas Dilger , Jan Kara , Harshad Shirwadkar Cc: linux-ext4@vger.kernel.org, linux-kernel@vger.kernel.org, "Luis Henriques (SUSE)" Subject: [PATCH v2 1/4] ext4: fix incorrect tid assumption in ext4_wait_for_tail_page_commit() Date: Wed, 24 Jul 2024 17:11:15 +0100 Message-ID: <20240724161119.13448-2-luis.henriques@linux.dev> In-Reply-To: <20240724161119.13448-1-luis.henriques@linux.dev> References: <20240724161119.13448-1-luis.henriques@linux.dev> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Migadu-Flow: FLOW_OUT Content-Type: text/plain; charset="utf-8" Function ext4_wait_for_tail_page_commit() assumes that '0' is not a valid value for transaction IDs, which is incorrect. Don't assume that and invoke jbd2_log_wait_commit() if the journal had a committing transaction instead. Signed-off-by: Luis Henriques (SUSE) Reviewed-by: Jan Kara --- fs/ext4/inode.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/fs/ext4/inode.c b/fs/ext4/inode.c index 941c1c0d5c6e..a0fa5192db8e 100644 --- a/fs/ext4/inode.c +++ b/fs/ext4/inode.c @@ -5279,8 +5279,9 @@ static void ext4_wait_for_tail_page_commit(struct ino= de *inode) { unsigned offset; journal_t *journal =3D EXT4_SB(inode->i_sb)->s_journal; - tid_t commit_tid =3D 0; + tid_t commit_tid; int ret; + bool has_transaction; =20 offset =3D inode->i_size & (PAGE_SIZE - 1); /* @@ -5305,12 +5306,14 @@ static void ext4_wait_for_tail_page_commit(struct i= node *inode) folio_put(folio); if (ret !=3D -EBUSY) return; - commit_tid =3D 0; + has_transaction =3D false; read_lock(&journal->j_state_lock); - if (journal->j_committing_transaction) + if (journal->j_committing_transaction) { commit_tid =3D journal->j_committing_transaction->t_tid; + has_transaction =3D true; + } read_unlock(&journal->j_state_lock); - if (commit_tid) + if (has_transaction) jbd2_log_wait_commit(journal, commit_tid); } } From nobody Fri Oct 18 04:20:08 2024 Received: from out-173.mta0.migadu.com (out-173.mta0.migadu.com [91.218.175.173]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 0973A15CD64 for ; Wed, 24 Jul 2024 16:11:39 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=91.218.175.173 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1721837501; cv=none; b=SB47bCmeFHvkd0fTx8VbaTTa91rWHcyUXJtGwp3xlTavV2/BKeWypW6aiLR88umPouuY1RYEXHpTWhh5PO0wznQQyN22BVYuY8GFCHXReVC6H2Wy54wD47xKb7DLb6BssDFT2JKafuM6wgE8diS9SKIvgn7pA+llRSFalPVkLUk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1721837501; c=relaxed/simple; bh=XNU5/E4zdzC94Iu4FvOqTnR4trcc+NhY6NVcKsOyMss=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=dGnFptSe8kKnGmI9YWgm3mj2NY1DOYqZuJaSx7F/0Zk2qlPhkzve98FRmOL7onueIQxVtW+uMzAS/SqGwIJCLlm/Gpy8DlHdN2RqGaDCLqreSIZ0GaIHL8cUr+OAwN1r0RrceEhvvjbKoAEmbe99BaOJCSlOivtEZdrISQOOnpo= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.dev; spf=pass smtp.mailfrom=linux.dev; dkim=pass (1024-bit key) header.d=linux.dev header.i=@linux.dev header.b=cY3YlNw9; arc=none smtp.client-ip=91.218.175.173 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.dev Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linux.dev Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linux.dev header.i=@linux.dev header.b="cY3YlNw9" X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1; t=1721837497; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=nZmav71urZq/ZgwyknRPqraCbvKvJwCQ9JJcFnXkdgg=; b=cY3YlNw9/9Fcrc4naM7we1Zt9llXu0RP1S9VrADP9lr+oei0a2o3ygQ9l4am2/2V6jQOt9 o2em28p37RUbybri4xyMUbEPbkt8i6BOnW6H/ZM7JSMzUNN+mjQvHY2D+9qqWThzVBREjK Nl13yijOY+5ButHmdl7lKJK/RlPApFY= From: "Luis Henriques (SUSE)" To: Theodore Ts'o , Andreas Dilger , Jan Kara , Harshad Shirwadkar Cc: linux-ext4@vger.kernel.org, linux-kernel@vger.kernel.org, "Luis Henriques (SUSE)" Subject: [PATCH v2 2/4] ext4: fix incorrect tid assumption in __jbd2_log_wait_for_space() Date: Wed, 24 Jul 2024 17:11:16 +0100 Message-ID: <20240724161119.13448-3-luis.henriques@linux.dev> In-Reply-To: <20240724161119.13448-1-luis.henriques@linux.dev> References: <20240724161119.13448-1-luis.henriques@linux.dev> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Migadu-Flow: FLOW_OUT Content-Type: text/plain; charset="utf-8" Function __jbd2_log_wait_for_space() assumes that '0' is not a valid value for transaction IDs, which is incorrect. Don't assume that and invoke jbd2_log_wait_commit() if the journal had a committing transaction instead. Signed-off-by: Luis Henriques (SUSE) Reviewed-by: Jan Kara --- fs/jbd2/checkpoint.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/fs/jbd2/checkpoint.c b/fs/jbd2/checkpoint.c index 951f78634adf..77bc522e6821 100644 --- a/fs/jbd2/checkpoint.c +++ b/fs/jbd2/checkpoint.c @@ -79,9 +79,12 @@ __releases(&journal->j_state_lock) if (space_left < nblocks) { int chkpt =3D journal->j_checkpoint_transactions !=3D NULL; tid_t tid =3D 0; + bool has_transaction =3D false; =20 - if (journal->j_committing_transaction) + if (journal->j_committing_transaction) { tid =3D journal->j_committing_transaction->t_tid; + has_transaction =3D true; + } spin_unlock(&journal->j_list_lock); write_unlock(&journal->j_state_lock); if (chkpt) { @@ -89,7 +92,7 @@ __releases(&journal->j_state_lock) } else if (jbd2_cleanup_journal_tail(journal) =3D=3D 0) { /* We were able to recover space; yay! */ ; - } else if (tid) { + } else if (has_transaction) { /* * jbd2_journal_commit_transaction() may want * to take the checkpoint_mutex if JBD2_FLUSHED From nobody Fri Oct 18 04:20:08 2024 Received: from out-177.mta1.migadu.com (out-177.mta1.migadu.com [95.215.58.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 53CF415ECF8 for ; Wed, 24 Jul 2024 16:11:43 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=95.215.58.177 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1721837505; cv=none; b=d+SND7B5TwxGFuirx2Z9AHyKl0xz9P9VjaTAv1gNyf4v7ANfKkyQDge9W6s1SZnYC56k9Hq/2wevXHZRuAITA8gO6KwK1AVsYGZ8DG6ap/qH2VU8zlHC5vlWgkFa5bK0cmrfMMxCj+KkGNbMO+TWPFPTyZBih9YA0kcOMXxBBuc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1721837505; c=relaxed/simple; bh=G+NetOiA07DsopKThDt7NVtlD4oyFoF/Xr+T8bHrr+M=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Rui2nvYdnqt63EoL6rePRnvCj/7Hj6DOewZA/5DOAAsxK1dC+ZKxuEXcPNqKXqZd0/9zYDb86IAefeGfc6S4XhZLwnrnv5S9oQ1GCI6u7Ra0zCU0xJebJfCb1sudnMdoY/YGVMvYV9+juP75IJg9HEzBfNpt2uHYjFHEjj9p5R4= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.dev; spf=pass smtp.mailfrom=linux.dev; dkim=pass (1024-bit key) header.d=linux.dev header.i=@linux.dev header.b=P9owXIbO; arc=none smtp.client-ip=95.215.58.177 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.dev Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linux.dev Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linux.dev header.i=@linux.dev header.b="P9owXIbO" X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1; t=1721837501; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=qW8LXRG/ucQNNYMkPNdCyzVM3kQHzkMXl1yju9gDpjA=; b=P9owXIbOD+23mcx9P1PUA3yiG/eZQ0Jr/PgZKYLYjOYkHe+P8LUEQlBGUOEfPffSxYyGkb CJFIs0eagDUMXtbx6yxQI1nVlUS8mvk0NU0yI4qE/Hi1LMDvhs5SJ5Hn0Czqqmd6HZCIef fx3LRsIGKIaiapDjy8MdbfRVkRre7Rw= From: "Luis Henriques (SUSE)" To: Theodore Ts'o , Andreas Dilger , Jan Kara , Harshad Shirwadkar Cc: linux-ext4@vger.kernel.org, linux-kernel@vger.kernel.org, "Luis Henriques (SUSE)" Subject: [PATCH v2 3/4] ext4: fix incorrect tid assumption in jbd2_journal_shrink_checkpoint_list() Date: Wed, 24 Jul 2024 17:11:17 +0100 Message-ID: <20240724161119.13448-4-luis.henriques@linux.dev> In-Reply-To: <20240724161119.13448-1-luis.henriques@linux.dev> References: <20240724161119.13448-1-luis.henriques@linux.dev> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Migadu-Flow: FLOW_OUT Content-Type: text/plain; charset="utf-8" Function jbd2_journal_shrink_checkpoint_list() assumes that '0' is not a valid value for transaction IDs, which is incorrect. Don't assume that and use two extra boolean variables to control the loop iterations and keep track of the first and last tid. Signed-off-by: Luis Henriques (SUSE) Reviewed-by: Jan Kara --- fs/jbd2/checkpoint.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/fs/jbd2/checkpoint.c b/fs/jbd2/checkpoint.c index 77bc522e6821..98a0b2eb84f5 100644 --- a/fs/jbd2/checkpoint.c +++ b/fs/jbd2/checkpoint.c @@ -410,6 +410,7 @@ unsigned long jbd2_journal_shrink_checkpoint_list(journ= al_t *journal, tid_t tid =3D 0; unsigned long nr_freed =3D 0; unsigned long freed; + bool first_set =3D false; =20 again: spin_lock(&journal->j_list_lock); @@ -429,8 +430,10 @@ unsigned long jbd2_journal_shrink_checkpoint_list(jour= nal_t *journal, else transaction =3D journal->j_checkpoint_transactions; =20 - if (!first_tid) + if (!first_set) { first_tid =3D transaction->t_tid; + first_set =3D true; + } last_transaction =3D journal->j_checkpoint_transactions->t_cpprev; next_transaction =3D transaction; last_tid =3D last_transaction->t_tid; @@ -460,7 +463,7 @@ unsigned long jbd2_journal_shrink_checkpoint_list(journ= al_t *journal, spin_unlock(&journal->j_list_lock); cond_resched(); =20 - if (*nr_to_scan && next_tid) + if (*nr_to_scan && journal->j_shrink_transaction) goto again; out: trace_jbd2_shrink_checkpoint_list(journal, first_tid, tid, last_tid, From nobody Fri Oct 18 04:20:08 2024 Received: from out-180.mta1.migadu.com (out-180.mta1.migadu.com [95.215.58.180]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A471215EFB6 for ; Wed, 24 Jul 2024 16:11:45 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=95.215.58.180 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1721837507; cv=none; b=W8FUzKnX67ys8OoGXsgenQpQ+/+4sPYzZiqkXDd01nBfCVcLMs/i7jFauyk1SRUFi0UZvR/gu8pMB8mt7N1N23X7501KJpCruhQpcvs43uqQWdYlwGCVKjZpfzk24iLMWC+hHXf+iX7+JR+TmCh4t6w/Ls5GUFhDoAsMNnSiu7U= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1721837507; c=relaxed/simple; bh=2GrkRhx6WfzVuCpgridw5t0qCBlsL72XRCyejH/kB7U=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=L4VlkX7RWY5vIKvAtOCp/8VcgpGbONl2yxSWAwGem/822+WPUJAb+ZYN01s7EgAd5j0NG9eqYIlyfJHx2tHm5amh49QXT0HebzNZxMvTJpL6c64IsDVEKstUa1+PAPd4qFROVBhSDOfe3IfmQ6qZUU86GiSbz9NtaDQm8MlgFSk= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.dev; spf=pass smtp.mailfrom=linux.dev; dkim=pass (1024-bit key) header.d=linux.dev header.i=@linux.dev header.b=IGhhzLeB; arc=none smtp.client-ip=95.215.58.180 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.dev Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linux.dev Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linux.dev header.i=@linux.dev header.b="IGhhzLeB" X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1; t=1721837503; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=/BDPm85vZLWwDNWMf6v7cx0P2QLlbAt6JaKMTa1F2O0=; b=IGhhzLeBZCT/nVsThapj9kAOFP2QUqLbbx4gYl8DoHfLvwpTopCySdpFuFp1Aew7UOH8ZZ yw8pQ9DsZ61AHJW2mK4nn/97L8x/v+oDYUWyY8XJ8huECHtkJ91259LO4agsMiSmcXkh3D p5adugCc/mRQ6uHoGahaw5wD0N5cUgo= From: "Luis Henriques (SUSE)" To: Theodore Ts'o , Andreas Dilger , Jan Kara , Harshad Shirwadkar Cc: linux-ext4@vger.kernel.org, linux-kernel@vger.kernel.org, "Luis Henriques (SUSE)" Subject: [PATCH v2 4/4] ext4: fix incorrect tid assumption in ext4_fc_mark_ineligible() Date: Wed, 24 Jul 2024 17:11:18 +0100 Message-ID: <20240724161119.13448-5-luis.henriques@linux.dev> In-Reply-To: <20240724161119.13448-1-luis.henriques@linux.dev> References: <20240724161119.13448-1-luis.henriques@linux.dev> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Migadu-Flow: FLOW_OUT Content-Type: text/plain; charset="utf-8" Function jbd2_journal_shrink_checkpoint_list() assumes that '0' is not a valid value for transaction IDs, which is incorrect. Furthermore, the sbi->s_fc_ineligible_tid handling also makes the same assumption by being initialised to '0'. Fortunately, the sb flag EXT4_MF_FC_INELIGIBLE can be used to check whether sbi->s_fc_ineligible_tid has been previously set instead of comparing it with '0'. Signed-off-by: Luis Henriques (SUSE) Reviewed-by: Jan Kara --- fs/ext4/fast_commit.c | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/fs/ext4/fast_commit.c b/fs/ext4/fast_commit.c index 3926a05eceee..6f4c97bdb2d8 100644 --- a/fs/ext4/fast_commit.c +++ b/fs/ext4/fast_commit.c @@ -339,22 +339,29 @@ void ext4_fc_mark_ineligible(struct super_block *sb, = int reason, handle_t *handl { struct ext4_sb_info *sbi =3D EXT4_SB(sb); tid_t tid; + bool has_transaction =3D true; + bool is_ineligible; =20 if (ext4_fc_disabled(sb)) return; =20 - ext4_set_mount_flag(sb, EXT4_MF_FC_INELIGIBLE); if (handle && !IS_ERR(handle)) tid =3D handle->h_transaction->t_tid; else { read_lock(&sbi->s_journal->j_state_lock); - tid =3D sbi->s_journal->j_running_transaction ? - sbi->s_journal->j_running_transaction->t_tid : 0; + if (sbi->s_journal->j_running_transaction) + tid =3D sbi->s_journal->j_running_transaction->t_tid; + else + has_transaction =3D false; read_unlock(&sbi->s_journal->j_state_lock); } spin_lock(&sbi->s_fc_lock); - if (tid_gt(tid, sbi->s_fc_ineligible_tid)) + is_ineligible =3D ext4_test_mount_flag(sb, EXT4_MF_FC_INELIGIBLE); + if (has_transaction && + (!is_ineligible || + (is_ineligible && tid_gt(tid, sbi->s_fc_ineligible_tid)))) sbi->s_fc_ineligible_tid =3D tid; + ext4_set_mount_flag(sb, EXT4_MF_FC_INELIGIBLE); spin_unlock(&sbi->s_fc_lock); WARN_ON(reason >=3D EXT4_FC_REASON_MAX); sbi->s_fc_stats.fc_ineligible_reason_count[reason]++;