Skip to content

Commit

Permalink
Btrfs: Fix an off by one in the extent_map prepare write code
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 1832a6d commit 5d4fb73
Show file tree
Hide file tree
Showing 2 changed files with 3 additions and 3 deletions.
4 changes: 2 additions & 2 deletions fs/btrfs/extent_map.c
Original file line number Diff line number Diff line change
Expand Up @@ -2270,7 +2270,7 @@ int extent_prepare_write(struct extent_map_tree *tree,
kunmap_atomic(kaddr, KM_USER0);
}
if ((em->block_start != EXTENT_MAP_HOLE &&
em->block_start != EXTENT_MAP_INLINE) &&
em->block_start != EXTENT_MAP_INLINE) &&
!isnew && !PageUptodate(page) &&
(block_off_end > to || block_off_start < from) &&
!test_range_bit(tree, block_start, cur_end,
Expand All @@ -2279,7 +2279,7 @@ int extent_prepare_write(struct extent_map_tree *tree,
u64 extent_offset = block_start - em->start;
size_t iosize;
sector = (em->block_start + extent_offset) >> 9;
iosize = (cur_end - block_start + blocksize - 1) &
iosize = (cur_end - block_start + blocksize) &
~((u64)blocksize - 1);
/*
* we've already got the extent locked, but we
Expand Down
2 changes: 1 addition & 1 deletion fs/btrfs/inode.c
Original file line number Diff line number Diff line change
Expand Up @@ -1956,7 +1956,7 @@ static int btrfs_prepare_write(struct file *file, struct page *page,

mutex_lock(&root->fs_info->fs_mutex);
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)
return -ENOSPC;

Expand Down

0 comments on commit 5d4fb73

Please sign in to comment.