diff options
| author | Chris Mason <[email protected]> | 2008-09-24 00:19:49 +0000 |
|---|---|---|
| committer | Chris Mason <[email protected]> | 2008-09-25 15:04:07 +0000 |
| commit | 34353029534a08e41cfb8be647d734b9ce9ebff8 (patch) | |
| tree | 00aaf0f34c2bf5e4a11541ec5f2fff7bc5473df4 /fs/btrfs/async-thread.c | |
| parent | Btrfs: Full back reference support (diff) | |
| download | kernel-34353029534a08e41cfb8be647d734b9ce9ebff8.tar.gz kernel-34353029534a08e41cfb8be647d734b9ce9ebff8.zip | |
Btrfs: Fix race against disk_i_size updates
The code to update the on disk i_size happens before the
ordered_extent record is removed. So, it is possible for multiple
ordered_extent completion routines to run at the same time, and to
find each other in the ordered tree.
The end result is they both decide not to update disk_i_size, leaving
it too small. This temporary fix just puts the updates inside
the extent_mutex. A real solution would be stronger ordering of
disk_i_size updates against removing the ordered extent from the tree.
Signed-off-by: Chris Mason <[email protected]>
Diffstat (limited to 'fs/btrfs/async-thread.c')
0 files changed, 0 insertions, 0 deletions
