]> Git Repo - linux.git/commit
btrfs: check for BTRFS_FS_ERROR in pending ordered assert
authorJosef Bacik <[email protected]>
Thu, 24 Aug 2023 20:59:04 +0000 (16:59 -0400)
committerDavid Sterba <[email protected]>
Fri, 8 Sep 2023 12:10:59 +0000 (14:10 +0200)
commit4ca8e03cf2bfaeef7c85939fa1ea0c749cd116ab
treeb8736700c5c2010e7743b12c6d067ea135d0a062
parente110f8911ddb93e6f55da14ccbbe705397b30d0b
btrfs: check for BTRFS_FS_ERROR in pending ordered assert

If we do fast tree logging we increment a counter on the current
transaction for every ordered extent we need to wait for.  This means we
expect the transaction to still be there when we clear pending on the
ordered extent.  However if we happen to abort the transaction and clean
it up, there could be no running transaction, and thus we'll trip the
"ASSERT(trans)" check.  This is obviously incorrect, and the code
properly deals with the case that the transaction doesn't exist.  Fix
this ASSERT() to only fire if there's no trans and we don't have
BTRFS_FS_ERROR() set on the file system.

CC: [email protected] # 4.14+
Reviewed-by: Filipe Manana <[email protected]>
Signed-off-by: Josef Bacik <[email protected]>
Reviewed-by: David Sterba <[email protected]>
Signed-off-by: David Sterba <[email protected]>
fs/btrfs/ordered-data.c
This page took 0.052446 seconds and 4 git commands to generate.