Commit 5d4fb734 authored by Chris Mason's avatar Chris Mason

Btrfs: Fix an off by one in the extent_map prepare write code

Signed-off-by: default avatarChris Mason <chris.mason@oracle.com>
parent 1832a6d5
...@@ -2279,7 +2279,7 @@ int extent_prepare_write(struct extent_map_tree *tree, ...@@ -2279,7 +2279,7 @@ int extent_prepare_write(struct extent_map_tree *tree,
u64 extent_offset = block_start - em->start; u64 extent_offset = block_start - em->start;
size_t iosize; size_t iosize;
sector = (em->block_start + extent_offset) >> 9; sector = (em->block_start + extent_offset) >> 9;
iosize = (cur_end - block_start + blocksize - 1) & iosize = (cur_end - block_start + blocksize) &
~((u64)blocksize - 1); ~((u64)blocksize - 1);
/* /*
* we've already got the extent locked, but we * we've already got the extent locked, but we
......
...@@ -1956,7 +1956,7 @@ static int btrfs_prepare_write(struct file *file, struct page *page, ...@@ -1956,7 +1956,7 @@ static int btrfs_prepare_write(struct file *file, struct page *page,
mutex_lock(&root->fs_info->fs_mutex); mutex_lock(&root->fs_info->fs_mutex);
err = btrfs_check_free_space(root, PAGE_CACHE_SIZE, 0); err = btrfs_check_free_space(root, PAGE_CACHE_SIZE, 0);
mutex_lock(&root->fs_info->fs_mutex); mutex_unlock(&root->fs_info->fs_mutex);
if (err) if (err)
return -ENOSPC; return -ENOSPC;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment