diff options
Diffstat (limited to 'fs')
-rw-r--r-- | fs/btrfs/extent_io.c | 12 |
1 files changed, 4 insertions, 8 deletions
diff --git a/fs/btrfs/extent_io.c b/fs/btrfs/extent_io.c index 43feb4663f5b..d8ea0cb200b4 100644 --- a/fs/btrfs/extent_io.c +++ b/fs/btrfs/extent_io.c | |||
@@ -1482,10 +1482,8 @@ static noinline u64 find_delalloc_range(struct extent_io_tree *tree, | |||
1482 | cur_start = state->end + 1; | 1482 | cur_start = state->end + 1; |
1483 | node = rb_next(node); | 1483 | node = rb_next(node); |
1484 | total_bytes += state->end - state->start + 1; | 1484 | total_bytes += state->end - state->start + 1; |
1485 | if (total_bytes >= max_bytes) { | 1485 | if (total_bytes >= max_bytes) |
1486 | *end = *start + max_bytes - 1; | ||
1487 | break; | 1486 | break; |
1488 | } | ||
1489 | if (!node) | 1487 | if (!node) |
1490 | break; | 1488 | break; |
1491 | } | 1489 | } |
@@ -1627,10 +1625,9 @@ again: | |||
1627 | 1625 | ||
1628 | /* | 1626 | /* |
1629 | * make sure to limit the number of pages we try to lock down | 1627 | * make sure to limit the number of pages we try to lock down |
1630 | * if we're looping. | ||
1631 | */ | 1628 | */ |
1632 | if (delalloc_end + 1 - delalloc_start > max_bytes && loops) | 1629 | if (delalloc_end + 1 - delalloc_start > max_bytes) |
1633 | delalloc_end = delalloc_start + PAGE_CACHE_SIZE - 1; | 1630 | delalloc_end = delalloc_start + max_bytes - 1; |
1634 | 1631 | ||
1635 | /* step two, lock all the pages after the page that has start */ | 1632 | /* step two, lock all the pages after the page that has start */ |
1636 | ret = lock_delalloc_pages(inode, locked_page, | 1633 | ret = lock_delalloc_pages(inode, locked_page, |
@@ -1641,8 +1638,7 @@ again: | |||
1641 | */ | 1638 | */ |
1642 | free_extent_state(cached_state); | 1639 | free_extent_state(cached_state); |
1643 | if (!loops) { | 1640 | if (!loops) { |
1644 | unsigned long offset = (*start) & (PAGE_CACHE_SIZE - 1); | 1641 | max_bytes = PAGE_CACHE_SIZE; |
1645 | max_bytes = PAGE_CACHE_SIZE - offset; | ||
1646 | loops = 1; | 1642 | loops = 1; |
1647 | goto again; | 1643 | goto again; |
1648 | } else { | 1644 | } else { |