diff options
Diffstat (limited to 'fs/btrfs/compression.c')
| -rw-r--r-- | fs/btrfs/compression.c | 14 | 
1 files changed, 8 insertions, 6 deletions
diff --git a/fs/btrfs/compression.c b/fs/btrfs/compression.c index f5cdeb4b5538..b01fb6c527e3 100644 --- a/fs/btrfs/compression.c +++ b/fs/btrfs/compression.c @@ -128,11 +128,10 @@ static int check_compressed_csum(struct inode *inode,  		kunmap_atomic(kaddr);  		if (csum != *cb_sum) { -			printk(KERN_INFO "btrfs csum failed ino %llu " -			       "extent %llu csum %u " -			       "wanted %u mirror %d\n", -			       btrfs_ino(inode), disk_start, csum, *cb_sum, -			       cb->mirror_num); +			btrfs_info(BTRFS_I(inode)->root->fs_info, +			   "csum failed ino %llu extent %llu csum %u wanted %u mirror %d", +			   btrfs_ino(inode), disk_start, csum, *cb_sum, +			   cb->mirror_num);  			ret = -EIO;  			goto fail;  		} @@ -411,7 +410,8 @@ int btrfs_submit_compressed_write(struct inode *inode, u64 start,  			bio_add_page(bio, page, PAGE_CACHE_SIZE, 0);  		}  		if (bytes_left < PAGE_CACHE_SIZE) { -			printk("bytes left %lu compress len %lu nr %lu\n", +			btrfs_info(BTRFS_I(inode)->root->fs_info, +					"bytes left %lu compress len %lu nr %lu",  			       bytes_left, cb->compressed_len, cb->nr_pages);  		}  		bytes_left -= PAGE_CACHE_SIZE; @@ -1010,6 +1010,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);  | 
