@@ -56,11 +56,11 @@ static void mpage_end_io(struct bio *bio)
56
56
bio_put (bio );
57
57
}
58
58
59
- static struct bio * mpage_bio_submit (int rw , struct bio * bio )
59
+ static struct bio * mpage_bio_submit (int op , int op_flags , struct bio * bio )
60
60
{
61
61
bio -> bi_end_io = mpage_end_io ;
62
- bio -> bi_rw = rw ;
63
- guard_bio_eod (rw , bio );
62
+ bio_set_op_attrs ( bio , op , op_flags ) ;
63
+ guard_bio_eod (op , bio );
64
64
submit_bio (bio );
65
65
return NULL ;
66
66
}
@@ -270,7 +270,7 @@ do_mpage_readpage(struct bio *bio, struct page *page, unsigned nr_pages,
270
270
* This page will go to BIO. Do we need to send this BIO off first?
271
271
*/
272
272
if (bio && (* last_block_in_bio != blocks [0 ] - 1 ))
273
- bio = mpage_bio_submit (READ , bio );
273
+ bio = mpage_bio_submit (REQ_OP_READ , 0 , bio );
274
274
275
275
alloc_new :
276
276
if (bio == NULL ) {
@@ -287,23 +287,23 @@ do_mpage_readpage(struct bio *bio, struct page *page, unsigned nr_pages,
287
287
288
288
length = first_hole << blkbits ;
289
289
if (bio_add_page (bio , page , length , 0 ) < length ) {
290
- bio = mpage_bio_submit (READ , bio );
290
+ bio = mpage_bio_submit (REQ_OP_READ , 0 , bio );
291
291
goto alloc_new ;
292
292
}
293
293
294
294
relative_block = block_in_file - * first_logical_block ;
295
295
nblocks = map_bh -> b_size >> blkbits ;
296
296
if ((buffer_boundary (map_bh ) && relative_block == nblocks ) ||
297
297
(first_hole != blocks_per_page ))
298
- bio = mpage_bio_submit (READ , bio );
298
+ bio = mpage_bio_submit (REQ_OP_READ , 0 , bio );
299
299
else
300
300
* last_block_in_bio = blocks [blocks_per_page - 1 ];
301
301
out :
302
302
return bio ;
303
303
304
304
confused :
305
305
if (bio )
306
- bio = mpage_bio_submit (READ , bio );
306
+ bio = mpage_bio_submit (REQ_OP_READ , 0 , bio );
307
307
if (!PageUptodate (page ))
308
308
block_read_full_page (page , get_block );
309
309
else
@@ -385,7 +385,7 @@ mpage_readpages(struct address_space *mapping, struct list_head *pages,
385
385
}
386
386
BUG_ON (!list_empty (pages ));
387
387
if (bio )
388
- mpage_bio_submit (READ , bio );
388
+ mpage_bio_submit (REQ_OP_READ , 0 , bio );
389
389
return 0 ;
390
390
}
391
391
EXPORT_SYMBOL (mpage_readpages );
@@ -406,7 +406,7 @@ int mpage_readpage(struct page *page, get_block_t get_block)
406
406
bio = do_mpage_readpage (bio , page , 1 , & last_block_in_bio ,
407
407
& map_bh , & first_logical_block , get_block , gfp );
408
408
if (bio )
409
- mpage_bio_submit (READ , bio );
409
+ mpage_bio_submit (REQ_OP_READ , 0 , bio );
410
410
return 0 ;
411
411
}
412
412
EXPORT_SYMBOL (mpage_readpage );
@@ -487,7 +487,7 @@ static int __mpage_writepage(struct page *page, struct writeback_control *wbc,
487
487
struct buffer_head map_bh ;
488
488
loff_t i_size = i_size_read (inode );
489
489
int ret = 0 ;
490
- int wr = (wbc -> sync_mode == WB_SYNC_ALL ? WRITE_SYNC : WRITE );
490
+ int op_flags = (wbc -> sync_mode == WB_SYNC_ALL ? WRITE_SYNC : 0 );
491
491
492
492
if (page_has_buffers (page )) {
493
493
struct buffer_head * head = page_buffers (page );
@@ -596,7 +596,7 @@ static int __mpage_writepage(struct page *page, struct writeback_control *wbc,
596
596
* This page will go to BIO. Do we need to send this BIO off first?
597
597
*/
598
598
if (bio && mpd -> last_block_in_bio != blocks [0 ] - 1 )
599
- bio = mpage_bio_submit (wr , bio );
599
+ bio = mpage_bio_submit (REQ_OP_WRITE , op_flags , bio );
600
600
601
601
alloc_new :
602
602
if (bio == NULL ) {
@@ -623,7 +623,7 @@ static int __mpage_writepage(struct page *page, struct writeback_control *wbc,
623
623
wbc_account_io (wbc , page , PAGE_SIZE );
624
624
length = first_unmapped << blkbits ;
625
625
if (bio_add_page (bio , page , length , 0 ) < length ) {
626
- bio = mpage_bio_submit (wr , bio );
626
+ bio = mpage_bio_submit (REQ_OP_WRITE , op_flags , bio );
627
627
goto alloc_new ;
628
628
}
629
629
@@ -633,7 +633,7 @@ static int __mpage_writepage(struct page *page, struct writeback_control *wbc,
633
633
set_page_writeback (page );
634
634
unlock_page (page );
635
635
if (boundary || (first_unmapped != blocks_per_page )) {
636
- bio = mpage_bio_submit (wr , bio );
636
+ bio = mpage_bio_submit (REQ_OP_WRITE , op_flags , bio );
637
637
if (boundary_block ) {
638
638
write_boundary_block (boundary_bdev ,
639
639
boundary_block , 1 << blkbits );
@@ -645,7 +645,7 @@ static int __mpage_writepage(struct page *page, struct writeback_control *wbc,
645
645
646
646
confused :
647
647
if (bio )
648
- bio = mpage_bio_submit (wr , bio );
648
+ bio = mpage_bio_submit (REQ_OP_WRITE , op_flags , bio );
649
649
650
650
if (mpd -> use_writepage ) {
651
651
ret = mapping -> a_ops -> writepage (page , wbc );
@@ -702,9 +702,9 @@ mpage_writepages(struct address_space *mapping,
702
702
703
703
ret = write_cache_pages (mapping , wbc , __mpage_writepage , & mpd );
704
704
if (mpd .bio ) {
705
- int wr = (wbc -> sync_mode == WB_SYNC_ALL ?
706
- WRITE_SYNC : WRITE );
707
- mpage_bio_submit (wr , mpd .bio );
705
+ int op_flags = (wbc -> sync_mode == WB_SYNC_ALL ?
706
+ WRITE_SYNC : 0 );
707
+ mpage_bio_submit (REQ_OP_WRITE , op_flags , mpd .bio );
708
708
}
709
709
}
710
710
blk_finish_plug (& plug );
@@ -723,9 +723,9 @@ int mpage_writepage(struct page *page, get_block_t get_block,
723
723
};
724
724
int ret = __mpage_writepage (page , wbc , & mpd );
725
725
if (mpd .bio ) {
726
- int wr = (wbc -> sync_mode == WB_SYNC_ALL ?
727
- WRITE_SYNC : WRITE );
728
- mpage_bio_submit (wr , mpd .bio );
726
+ int op_flags = (wbc -> sync_mode == WB_SYNC_ALL ?
727
+ WRITE_SYNC : 0 );
728
+ mpage_bio_submit (REQ_OP_WRITE , op_flags , mpd .bio );
729
729
}
730
730
return ret ;
731
731
}
0 commit comments