diff options
-rw-r--r-- | fs/btrfs/file.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/fs/btrfs/file.c b/fs/btrfs/file.c index f2a80e570a6c..24a19c2743ca 100644 --- a/fs/btrfs/file.c +++ b/fs/btrfs/file.c | |||
@@ -108,8 +108,6 @@ static noinline void btrfs_drop_pages(struct page **pages, size_t num_pages) | |||
108 | { | 108 | { |
109 | size_t i; | 109 | size_t i; |
110 | for (i = 0; i < num_pages; i++) { | 110 | for (i = 0; i < num_pages; i++) { |
111 | if (!pages[i]) | ||
112 | break; | ||
113 | /* page checked is some magic around finding pages that | 111 | /* page checked is some magic around finding pages that |
114 | * have been modified without going through btrfs_set_page_dirty | 112 | * have been modified without going through btrfs_set_page_dirty |
115 | * clear it here | 113 | * clear it here |
@@ -824,7 +822,6 @@ static noinline int prepare_pages(struct btrfs_root *root, struct file *file, | |||
824 | return err; | 822 | return err; |
825 | } | 823 | } |
826 | 824 | ||
827 | memset(pages, 0, num_pages * sizeof(struct page *)); | ||
828 | again: | 825 | again: |
829 | for (i = 0; i < num_pages; i++) { | 826 | for (i = 0; i < num_pages; i++) { |
830 | pages[i] = grab_cache_page(inode->i_mapping, index + i); | 827 | pages[i] = grab_cache_page(inode->i_mapping, index + i); |
@@ -930,7 +927,6 @@ static noinline ssize_t __btrfs_buffered_write(struct file *file, | |||
930 | size_t copied; | 927 | size_t copied; |
931 | 928 | ||
932 | WARN_ON(num_pages > nrptrs); | 929 | WARN_ON(num_pages > nrptrs); |
933 | memset(pages, 0, sizeof(struct page *) * nrptrs); | ||
934 | 930 | ||
935 | /* | 931 | /* |
936 | * Fault pages before locking them in prepare_pages | 932 | * Fault pages before locking them in prepare_pages |
@@ -946,6 +942,11 @@ static noinline ssize_t __btrfs_buffered_write(struct file *file, | |||
946 | if (ret) | 942 | if (ret) |
947 | break; | 943 | break; |
948 | 944 | ||
945 | /* | ||
946 | * This is going to setup the pages array with the number of | ||
947 | * pages we want, so we don't really need to worry about the | ||
948 | * contents of pages from loop to loop | ||
949 | */ | ||
949 | ret = prepare_pages(root, file, pages, num_pages, | 950 | ret = prepare_pages(root, file, pages, num_pages, |
950 | pos, first_index, last_index, | 951 | pos, first_index, last_index, |
951 | write_bytes); | 952 | write_bytes); |