vfs: fix bad hashing of dentries
[firefly-linux-kernel-4.4.55.git] / fs / btrfs / compression.c
index b189bd1e7a3e45bf92002e35c8db525886c7593d..ce7067881d36b567b56ccf91eb99e31b7e8af19c 100644 (file)
@@ -1009,6 +1009,8 @@ int btrfs_decompress_buf2page(char *buf, unsigned long buf_start,
                bytes = min(bytes, working_bytes);
                kaddr = kmap_atomic(page_out);
                memcpy(kaddr + *pg_offset, buf + buf_offset, bytes);
+               if (*pg_index == (vcnt - 1) && *pg_offset == 0)
+                       memset(kaddr + bytes, 0, PAGE_CACHE_SIZE - bytes);
                kunmap_atomic(kaddr);
                flush_dcache_page(page_out);