Btrfs: Fix an off by one in the extent_map prepare write code
Signed-off-by: Chris Mason <chris.mason@oracle.com>
This commit is contained in:
@@ -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,
|
|||||||
|
|
||||||
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;
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user