diff options
author | Brian Foster <[email protected]> | 2012-06-11 10:39:43 -0400 |
---|---|---|
committer | Ben Myers <[email protected]> | 2012-06-21 14:20:06 -0500 |
commit | 9a3a5dab63461b84213052888bf38a962b22d035 (patch) | |
tree | 7f3bfcce7c1a6ea59267369f10ed5fa618afb3d1 /tools/perf/util/scripting-engines/trace-event-python.c | |
parent | 3b876c8f2a361ceeed3fed894980c69066f903a0 (diff) |
xfs: check for stale inode before acquiring iflock on push
An inode in the AIL can be flush locked and marked stale if
a cluster free transaction occurs at the right time. The
inode item is then marked as flushing, which causes xfsaild
to spin and leaves the filesystem stalled. This is
reproduced by running xfstests 273 in a loop for an
extended period of time.
Check for stale inodes before the flush lock. This marks
the inode as pinned, leads to a log flush and allows the
filesystem to proceed.
Signed-off-by: Brian Foster <[email protected]>
Reviewed-by: Dave Chinner <[email protected]>
Reviewed-by: Christoph Hellwig <[email protected]>
Reviewed-by: Mark Tinguely <[email protected]>
Signed-off-by: Ben Myers <[email protected]>
Diffstat (limited to 'tools/perf/util/scripting-engines/trace-event-python.c')
0 files changed, 0 insertions, 0 deletions