diff options
author | Xin Yin <[email protected]> | 2022-01-17 17:36:54 +0800 |
---|---|---|
committer | Theodore Ts'o <[email protected]> | 2022-02-03 10:56:39 -0500 |
commit | e85c81ba8859a4c839bcd69c5d83b32954133a5b (patch) | |
tree | 82c221700beddb5bd5173b9dc825b91e766e4133 /net/lapb/lapb_in.c | |
parent | 31a074a0c62dc0d2bfb9b543142db4fe27f9e5eb (diff) |
ext4: fast commit may not fallback for ineligible commit
For the follow scenario:
1. jbd start commit transaction n
2. task A get new handle for transaction n+1
3. task A do some ineligible actions and mark FC_INELIGIBLE
4. jbd complete transaction n and clean FC_INELIGIBLE
5. task A call fsync
In this case fast commit will not fallback to full commit and
transaction n+1 also not handled by jbd.
Make ext4_fc_mark_ineligible() also record transaction tid for
latest ineligible case, when call ext4_fc_cleanup() check
current transaction tid, if small than latest ineligible tid
do not clear the EXT4_MF_FC_INELIGIBLE.
Reported-by: kernel test robot <[email protected]>
Reported-by: Dan Carpenter <[email protected]>
Reported-by: Ritesh Harjani <[email protected]>
Suggested-by: Harshad Shirwadkar <[email protected]>
Signed-off-by: Xin Yin <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Theodore Ts'o <[email protected]>
Cc: [email protected]
Diffstat (limited to 'net/lapb/lapb_in.c')
0 files changed, 0 insertions, 0 deletions