diff options
| author | Alexander Viro <viro@math.psu.edu> | 2002-04-21 22:59:14 -0700 |
|---|---|---|
| committer | Linus Torvalds <torvalds@home.transmeta.com> | 2002-04-21 22:59:14 -0700 |
| commit | 87f778927a3f923d85c0473990a9648ce57bac15 (patch) | |
| tree | 792e13e2fe6ebf709ae60f577049b91edc552ad7 /include | |
| parent | 9d129978ffec02e628b0ae543513723b82b11dc7 (diff) | |
[PATCH] buffer_head leak
Fix buffer-head leak on truncate race.
The reason why it hadn't been triggered left right and center is that we
step on that path only when partial truncate blows away an indirect
block shared between truncated and remaining areas _and_ races with
ext2_get_block() in the beginning of said area. IOW, we need
* indirect block with hole in the beginning
* get_block starting to read that block
* truncate killing everything past the hole (and thus freeing indirect
block in question)
* get_block completing the read and noticing that block is actually
gone.
OK... IMO we should do that brelse() outside of the loop.
Diffstat (limited to 'include')
0 files changed, 0 insertions, 0 deletions
