projects
/
platform
/
kernel
/
linux-3.10.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
5e591a0
)
Btrfs: Take the extent lock before dropping the delalloc bits
author
Chris Mason
<chris.mason@oracle.com>
Tue, 19 Feb 2008 17:55:05 +0000
(12:55 -0500)
committer
Chris Mason
<chris.mason@oracle.com>
Thu, 25 Sep 2008 15:04:00 +0000
(11:04 -0400)
Signed-off-by: Chris Mason <chris.mason@oracle.com>
fs/btrfs/file.c
patch
|
blob
|
history
diff --git
a/fs/btrfs/file.c
b/fs/btrfs/file.c
index
1a47251
..
51466dc
100644
(file)
--- a/
fs/btrfs/file.c
+++ b/
fs/btrfs/file.c
@@
-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;
}