diff options
author | Ernesto A. Fernández <[email protected]> | 2018-08-21 21:59:16 -0700 |
---|---|---|
committer | Linus Torvalds <[email protected]> | 2018-08-22 10:52:50 -0700 |
commit | 31651c607151f1034cfb57e5a78678bea54c362b (patch) | |
tree | b8868dcd8dd0330edeec238bb83716be61b3d314 /tools/perf/scripts/python/sched-migration.py | |
parent | 7464726cb5998846306ed0a7d6714afb2e37b25d (diff) |
hfsplus: avoid deadlock on file truncation
After an extent is removed from the extent tree, the corresponding bits
are also cleared from the block allocation file. This is currently done
without releasing the tree lock.
The problem is that the allocation file has extents of its own; if it is
fragmented enough, some of them may be in the extent tree as well, and
hfsplus_get_block() will try to take the lock again.
To avoid deadlock, only hold the extent tree lock during the actual tree
operations.
Link: http://lkml.kernel.org/r/20180709202549.auxwkb6memlegb4a@eaf
Signed-off-by: Ernesto A. Fernández <[email protected]>
Reported-by: Anatoly Trosinenko <[email protected]>
Cc: Viacheslav Dubeyko <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Diffstat (limited to 'tools/perf/scripts/python/sched-migration.py')
0 files changed, 0 insertions, 0 deletions