diff --git a/[refs] b/[refs] index 629cd426ff8a..8b3d08ad4de3 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: d0215f3e5ebb5803cd6ec067b10c5e00a3ad7cfc +refs/heads/master: 4a64001f0047956e283f7ada9843dfc3f3b5d8c8 diff --git a/trunk/fs/btrfs/file.c b/trunk/fs/btrfs/file.c index f2a80e570a6c..24a19c2743ca 100644 --- a/trunk/fs/btrfs/file.c +++ b/trunk/fs/btrfs/file.c @@ -108,8 +108,6 @@ static noinline void btrfs_drop_pages(struct page **pages, size_t num_pages) { size_t i; for (i = 0; i < num_pages; i++) { - if (!pages[i]) - break; /* page checked is some magic around finding pages that * have been modified without going through btrfs_set_page_dirty * clear it here @@ -824,7 +822,6 @@ static noinline int prepare_pages(struct btrfs_root *root, struct file *file, return err; } - memset(pages, 0, num_pages * sizeof(struct page *)); again: for (i = 0; i < num_pages; i++) { pages[i] = grab_cache_page(inode->i_mapping, index + i); @@ -930,7 +927,6 @@ static noinline ssize_t __btrfs_buffered_write(struct file *file, size_t copied; WARN_ON(num_pages > nrptrs); - memset(pages, 0, sizeof(struct page *) * nrptrs); /* * Fault pages before locking them in prepare_pages @@ -946,6 +942,11 @@ static noinline ssize_t __btrfs_buffered_write(struct file *file, if (ret) break; + /* + * This is going to setup the pages array with the number of + * pages we want, so we don't really need to worry about the + * contents of pages from loop to loop + */ ret = prepare_pages(root, file, pages, num_pages, pos, first_index, last_index, write_bytes);