summaryrefslogtreecommitdiffstats
path: root/tools/perf/scripts/python/task-analyzer.py
diff options
context:
space:
mode:
authorAndreas Gruenbacher <agruenba@redhat.com>2023-08-04 22:17:32 +0200
committerAndreas Gruenbacher <agruenba@redhat.com>2023-08-07 18:40:51 +0200
commit2cbd80642b76480c9b0697297af917d9388a0b46 (patch)
tree1737fab26eb424f3c6fbecd5a10548dca5dd9c17 /tools/perf/scripts/python/task-analyzer.py
parent94c76955e86a5a4f16a1d690b66dcc268c156e6a (diff)
downloadlinux-stable-2cbd80642b76480c9b0697297af917d9388a0b46.tar.gz
linux-stable-2cbd80642b76480c9b0697297af917d9388a0b46.tar.bz2
linux-stable-2cbd80642b76480c9b0697297af917d9388a0b46.zip
gfs2: Fix freeze consistency check in gfs2_trans_add_meta
Function gfs2_trans_add_meta() checks for the SDF_FROZEN flag to make sure that no buffers are added to a transaction while the filesystem is frozen. With the recent freeze/thaw rework, the SDF_FROZEN flag is cleared after thaw_super() is called, which is sufficient for serializing freeze/thaw. However, other filesystem operations started after thaw_super() may now be calling gfs2_trans_add_meta() before the SDF_FROZEN flag is cleared, which will trigger the SDF_FROZEN check in gfs2_trans_add_meta(). Fix that by checking the s_writers.frozen state instead. In addition, make sure not to call gfs2_assert_withdraw() with the sd_log_lock spin lock held. Check for a withdrawn filesystem before checking for a frozen filesystem, and don't pin/add buffers to the current transaction in case of a failure in either case. Signed-off-by: Andreas Gruenbacher <agruenba@redhat.com> Signed-off-by: Bob Peterson <rpeterso@redhat.com>
Diffstat (limited to 'tools/perf/scripts/python/task-analyzer.py')
0 files changed, 0 insertions, 0 deletions