mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-04 18:09:57 +00:00
Btrfs: Take the extent lock before dropping the delalloc bits
Signed-off-by: Chris Mason <chris.mason@oracle.com>
This commit is contained in:
parent
5e591a0703
commit
d99cb30a11
1 changed files with 4 additions and 0 deletions
|
@ -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;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue