diff options
Diffstat (limited to 'fs/btrfs/extent_io.c')
| -rw-r--r-- | fs/btrfs/extent_io.c | 11 | 
1 files changed, 4 insertions, 7 deletions
| diff --git a/fs/btrfs/extent_io.c b/fs/btrfs/extent_io.c index 3e5bb0cdd3cd..7fa50e12f18e 100644 --- a/fs/btrfs/extent_io.c +++ b/fs/btrfs/extent_io.c @@ -1,3 +1,4 @@ +// SPDX-License-Identifier: GPL-2.0  #include <linux/bitops.h>  #include <linux/slab.h>  #include <linux/bio.h> @@ -2801,7 +2802,7 @@ static int submit_extent_page(unsigned int opf, struct extent_io_tree *tree,  		}  	} -	bio = btrfs_bio_alloc(bdev, sector << 9); +	bio = btrfs_bio_alloc(bdev, (u64)sector << 9);  	bio_add_page(bio, page, page_size, offset);  	bio->bi_end_io = end_io_func;  	bio->bi_private = tree; @@ -3471,8 +3472,7 @@ static int __extent_writepage(struct page *page, struct writeback_control *wbc,  	unsigned int write_flags = 0;  	unsigned long nr_written = 0; -	if (wbc->sync_mode == WB_SYNC_ALL) -		write_flags = REQ_SYNC; +	write_flags = wbc_to_write_flags(wbc);  	trace___extent_writepage(page, inode, wbc); @@ -3718,7 +3718,7 @@ static noinline_for_stack int write_one_eb(struct extent_buffer *eb,  	unsigned long i, num_pages;  	unsigned long bio_flags = 0;  	unsigned long start, end; -	unsigned int write_flags = (epd->sync_io ? REQ_SYNC : 0) | REQ_META; +	unsigned int write_flags = wbc_to_write_flags(wbc) | REQ_META;  	int ret = 0;  	clear_bit(EXTENT_BUFFER_WRITE_ERR, &eb->bflags); @@ -4063,9 +4063,6 @@ static void flush_epd_write_bio(struct extent_page_data *epd)  	if (epd->bio) {  		int ret; -		bio_set_op_attrs(epd->bio, REQ_OP_WRITE, -				 epd->sync_io ? REQ_SYNC : 0); -  		ret = submit_one_bio(epd->bio, 0, epd->bio_flags);  		BUG_ON(ret < 0); /* -ENOMEM */  		epd->bio = NULL; |