Re: [PATCH 4/7] Btrfs: kill the start argument to read_extent_buffer_pages

2016-09-08 Thread David Sterba
On Fri, Sep 02, 2016 at 03:40:03PM -0400, Josef Bacik wrote:
> Nobody uses this, it makes no sense to do partial reads of extent buffers.
> 
> Signed-off-by: Josef Bacik 

Reviewed-by: David Sterba 

Same here, picked to 4.9.
--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH 4/7] Btrfs: kill the start argument to read_extent_buffer_pages

2016-09-02 Thread Josef Bacik
Nobody uses this, it makes no sense to do partial reads of extent buffers.

Signed-off-by: Josef Bacik 
---
 fs/btrfs/disk-io.c   | 13 ++---
 fs/btrfs/extent_io.c | 26 +++---
 fs/btrfs/extent_io.h |  2 +-
 3 files changed, 14 insertions(+), 27 deletions(-)

diff --git a/fs/btrfs/disk-io.c b/fs/btrfs/disk-io.c
index ebd33ef..9c42e53 100644
--- a/fs/btrfs/disk-io.c
+++ b/fs/btrfs/disk-io.c
@@ -443,7 +443,7 @@ static int btrfs_check_super_csum(char *raw_disk_sb)
  */
 static int btree_read_extent_buffer_pages(struct btrfs_root *root,
  struct extent_buffer *eb,
- u64 start, u64 parent_transid)
+ u64 parent_transid)
 {
struct extent_io_tree *io_tree;
int failed = 0;
@@ -455,8 +455,7 @@ static int btree_read_extent_buffer_pages(struct btrfs_root 
*root,
clear_bit(EXTENT_BUFFER_CORRUPT, &eb->bflags);
io_tree = &BTRFS_I(root->fs_info->btree_inode)->io_tree;
while (1) {
-   ret = read_extent_buffer_pages(io_tree, eb, start,
-  WAIT_COMPLETE,
+   ret = read_extent_buffer_pages(io_tree, eb, WAIT_COMPLETE,
   btree_get_extent, mirror_num);
if (!ret) {
if (!verify_parent_transid(io_tree, eb,
@@ -1098,7 +1097,7 @@ void readahead_tree_block(struct btrfs_root *root, u64 
bytenr)
if (IS_ERR(buf))
return;
read_extent_buffer_pages(&BTRFS_I(btree_inode)->io_tree,
-buf, 0, WAIT_NONE, btree_get_extent, 0);
+buf, WAIT_NONE, btree_get_extent, 0);
free_extent_buffer(buf);
 }
 
@@ -1116,7 +1115,7 @@ int reada_tree_block_flagged(struct btrfs_root *root, u64 
bytenr,
 
set_bit(EXTENT_BUFFER_READAHEAD, &buf->bflags);
 
-   ret = read_extent_buffer_pages(io_tree, buf, 0, WAIT_PAGE_LOCK,
+   ret = read_extent_buffer_pages(io_tree, buf, WAIT_PAGE_LOCK,
   btree_get_extent, mirror_num);
if (ret) {
free_extent_buffer(buf);
@@ -1172,7 +1171,7 @@ struct extent_buffer *read_tree_block(struct btrfs_root 
*root, u64 bytenr,
if (IS_ERR(buf))
return buf;
 
-   ret = btree_read_extent_buffer_pages(root, buf, 0, parent_transid);
+   ret = btree_read_extent_buffer_pages(root, buf, parent_transid);
if (ret) {
free_extent_buffer(buf);
return ERR_PTR(ret);
@@ -4035,7 +4034,7 @@ void btrfs_btree_balance_dirty_nodelay(struct btrfs_root 
*root)
 int btrfs_read_buffer(struct extent_buffer *buf, u64 parent_transid)
 {
struct btrfs_root *root = BTRFS_I(buf->pages[0]->mapping->host)->root;
-   return btree_read_extent_buffer_pages(root, buf, 0, parent_transid);
+   return btree_read_extent_buffer_pages(root, buf, parent_transid);
 }
 
 static int btrfs_check_super_valid(struct btrfs_fs_info *fs_info,
diff --git a/fs/btrfs/extent_io.c b/fs/btrfs/extent_io.c
index 6036431..045e525 100644
--- a/fs/btrfs/extent_io.c
+++ b/fs/btrfs/extent_io.c
@@ -5157,11 +5157,10 @@ int extent_buffer_uptodate(struct extent_buffer *eb)
 }
 
 int read_extent_buffer_pages(struct extent_io_tree *tree,
-struct extent_buffer *eb, u64 start, int wait,
+struct extent_buffer *eb, int wait,
 get_extent_t *get_extent, int mirror_num)
 {
unsigned long i;
-   unsigned long start_i;
struct page *page;
int err;
int ret = 0;
@@ -5175,16 +5174,8 @@ int read_extent_buffer_pages(struct extent_io_tree *tree,
if (test_bit(EXTENT_BUFFER_UPTODATE, &eb->bflags))
return 0;
 
-   if (start) {
-   WARN_ON(start < eb->start);
-   start_i = (start >> PAGE_SHIFT) -
-   (eb->start >> PAGE_SHIFT);
-   } else {
-   start_i = 0;
-   }
-
num_pages = num_extent_pages(eb->start, eb->len);
-   for (i = start_i; i < num_pages; i++) {
+   for (i = 0; i < num_pages; i++) {
page = eb->pages[i];
if (wait == WAIT_NONE) {
if (!trylock_page(page))
@@ -5199,15 +5190,14 @@ int read_extent_buffer_pages(struct extent_io_tree 
*tree,
}
}
if (all_uptodate) {
-   if (start_i == 0)
-   set_bit(EXTENT_BUFFER_UPTODATE, &eb->bflags);
+   set_bit(EXTENT_BUFFER_UPTODATE, &eb->bflags);
goto unlock_exit;
}
 
clear_bit(EXTENT_BUFFER_READ_ERR, &eb->bflags);
eb->read_mirror = 0;
atomic_set(&eb->io_pages, num_reads);
-   for (i = start_i; i < num_pages; i++) {
+   for (i = 0; i < num_pages; i++) {
page = eb->pages[i];