diff options
Diffstat (limited to 'fs/btrfs/compression.c')
| -rw-r--r-- | fs/btrfs/compression.c | 9 | 
1 files changed, 5 insertions, 4 deletions
diff --git a/fs/btrfs/compression.c b/fs/btrfs/compression.c index b35ce16b3df3..5982c8a71f02 100644 --- a/fs/btrfs/compression.c +++ b/fs/btrfs/compression.c @@ -295,7 +295,8 @@ blk_status_t btrfs_submit_compressed_write(struct inode *inode, u64 start,  				 unsigned long len, u64 disk_start,  				 unsigned long compressed_len,  				 struct page **compressed_pages, -				 unsigned long nr_pages) +				 unsigned long nr_pages, +				 unsigned int write_flags)  {  	struct btrfs_fs_info *fs_info = btrfs_sb(inode->i_sb);  	struct bio *bio = NULL; @@ -327,7 +328,7 @@ blk_status_t btrfs_submit_compressed_write(struct inode *inode, u64 start,  	bdev = fs_info->fs_devices->latest_bdev;  	bio = btrfs_bio_alloc(bdev, first_byte); -	bio_set_op_attrs(bio, REQ_OP_WRITE, 0); +	bio->bi_opf = REQ_OP_WRITE | write_flags;  	bio->bi_private = cb;  	bio->bi_end_io = end_compressed_bio_write;  	refcount_set(&cb->pending_bios, 1); @@ -374,7 +375,7 @@ blk_status_t btrfs_submit_compressed_write(struct inode *inode, u64 start,  			bio_put(bio);  			bio = btrfs_bio_alloc(bdev, first_byte); -			bio_set_op_attrs(bio, REQ_OP_WRITE, 0); +			bio->bi_opf = REQ_OP_WRITE | write_flags;  			bio->bi_private = cb;  			bio->bi_end_io = end_compressed_bio_write;  			bio_add_page(bio, page, PAGE_SIZE, 0); @@ -1528,5 +1529,5 @@ unsigned int btrfs_compress_str2level(const char *str)  	if (str[4] == ':' && '1' <= str[5] && str[5] <= '9' && str[6] == 0)  		return str[5] - '0'; -	return 0; +	return BTRFS_ZLIB_DEFAULT_LEVEL;  }  |