diff options
Diffstat (limited to 'fs')
| -rw-r--r-- | fs/buffer.c | 10 | ||||
| -rw-r--r-- | fs/ext4/page-io.c | 2 | 
2 files changed, 6 insertions, 6 deletions
diff --git a/fs/buffer.c b/fs/buffer.c index 109f55196866..6f1ae3ac9789 100644 --- a/fs/buffer.c +++ b/fs/buffer.c @@ -3060,6 +3060,11 @@ static int submit_bh_wbc(int op, int op_flags, struct buffer_head *bh,  	 */  	bio = bio_alloc(GFP_NOIO, 1); +	if (wbc) { +		wbc_init_bio(wbc, bio); +		wbc_account_io(wbc, bh->b_page, bh->b_size); +	} +  	bio->bi_iter.bi_sector = bh->b_blocknr * (bh->b_size >> 9);  	bio_set_dev(bio, bh->b_bdev);  	bio->bi_write_hint = write_hint; @@ -3079,11 +3084,6 @@ static int submit_bh_wbc(int op, int op_flags, struct buffer_head *bh,  		op_flags |= REQ_PRIO;  	bio_set_op_attrs(bio, op, op_flags); -	if (wbc) { -		wbc_init_bio(wbc, bio); -		wbc_account_io(wbc, bh->b_page, bh->b_size); -	} -  	submit_bio(bio);  	return 0;  } diff --git a/fs/ext4/page-io.c b/fs/ext4/page-io.c index 2aa62d58d8dd..db7590178dfc 100644 --- a/fs/ext4/page-io.c +++ b/fs/ext4/page-io.c @@ -374,13 +374,13 @@ static int io_submit_init_bio(struct ext4_io_submit *io,  	bio = bio_alloc(GFP_NOIO, BIO_MAX_PAGES);  	if (!bio)  		return -ENOMEM; +	wbc_init_bio(io->io_wbc, bio);  	bio->bi_iter.bi_sector = bh->b_blocknr * (bh->b_size >> 9);  	bio_set_dev(bio, bh->b_bdev);  	bio->bi_end_io = ext4_end_bio;  	bio->bi_private = ext4_get_io_end(io->io_end);  	io->io_bio = bio;  	io->io_next_block = bh->b_blocknr; -	wbc_init_bio(io->io_wbc, bio);  	return 0;  }  | 
