Skip to content

Commit

Permalink
Btrfs: Take the extent lock before dropping the delalloc bits
Browse files Browse the repository at this point in the history
Signed-off-by: Chris Mason <chris.mason@oracle.com>
  • Loading branch information
Chris Mason committed Sep 25, 2008
1 parent 5e591a0 commit d99cb30
Showing 1 changed file with 4 additions and 0 deletions.
4 changes: 4 additions & 0 deletions fs/btrfs/file.c
Original file line number Diff line number Diff line change
Expand Up @@ -765,9 +765,13 @@ static int prepare_pages(struct btrfs_root *root, struct file *file,
if (start_pos < inode->i_size) {
u64 last_pos;
last_pos = (index + num_pages) << PAGE_CACHE_SHIFT;
lock_extent(&BTRFS_I(inode)->io_tree,
start_pos, last_pos - 1, GFP_NOFS);
clear_extent_bits(&BTRFS_I(inode)->io_tree, start_pos,
last_pos - 1, EXTENT_DIRTY | EXTENT_DELALLOC,
GFP_NOFS);
unlock_extent(&BTRFS_I(inode)->io_tree,
start_pos, last_pos - 1, GFP_NOFS);
}
return 0;
}
Expand Down

0 comments on commit d99cb30

Please sign in to comment.