diff options
author | Andreas Gruenbacher <agruenba@redhat.com> | 2023-08-04 22:17:32 +0200 |
---|---|---|
committer | Andreas Gruenbacher <agruenba@redhat.com> | 2023-08-07 18:40:51 +0200 |
commit | 2cbd80642b76480c9b0697297af917d9388a0b46 (patch) | |
tree | 1737fab26eb424f3c6fbecd5a10548dca5dd9c17 /tools/perf/scripts/python/task-analyzer.py | |
parent | 94c76955e86a5a4f16a1d690b66dcc268c156e6a (diff) | |
download | linux-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