Skip to content

Commit 4ce4c73

Browse files
bvanasscheaxboe
authored andcommitted
md/core: Combine two sync_page_io() arguments
Improve uniformity in the kernel of handling of request operation and flags by passing these as a single argument. Cc: Song Liu <[email protected]> Signed-off-by: Bart Van Assche <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Jens Axboe <[email protected]>
1 parent 13a1f65 commit 4ce4c73

File tree

8 files changed

+29
-30
lines changed

8 files changed

+29
-30
lines changed

drivers/md/dm-raid.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2036,7 +2036,7 @@ static int read_disk_sb(struct md_rdev *rdev, int size, bool force_reload)
20362036

20372037
rdev->sb_loaded = 0;
20382038

2039-
if (!sync_page_io(rdev, 0, size, rdev->sb_page, REQ_OP_READ, 0, true)) {
2039+
if (!sync_page_io(rdev, 0, size, rdev->sb_page, REQ_OP_READ, true)) {
20402040
DMERR("Failed to read superblock of device at position %d",
20412041
rdev->raid_disk);
20422042
md_error(rdev->mddev, rdev);

drivers/md/md-bitmap.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -165,7 +165,7 @@ static int read_sb_page(struct mddev *mddev, loff_t offset,
165165

166166
if (sync_page_io(rdev, target,
167167
roundup(size, bdev_logical_block_size(rdev->bdev)),
168-
page, REQ_OP_READ, 0, true)) {
168+
page, REQ_OP_READ, true)) {
169169
page->index = index;
170170
return 0;
171171
}

drivers/md/md.c

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -993,15 +993,15 @@ int md_super_wait(struct mddev *mddev)
993993
}
994994

995995
int sync_page_io(struct md_rdev *rdev, sector_t sector, int size,
996-
struct page *page, int op, int op_flags, bool metadata_op)
996+
struct page *page, blk_opf_t opf, bool metadata_op)
997997
{
998998
struct bio bio;
999999
struct bio_vec bvec;
10001000

10011001
if (metadata_op && rdev->meta_bdev)
1002-
bio_init(&bio, rdev->meta_bdev, &bvec, 1, op | op_flags);
1002+
bio_init(&bio, rdev->meta_bdev, &bvec, 1, opf);
10031003
else
1004-
bio_init(&bio, rdev->bdev, &bvec, 1, op | op_flags);
1004+
bio_init(&bio, rdev->bdev, &bvec, 1, opf);
10051005

10061006
if (metadata_op)
10071007
bio.bi_iter.bi_sector = sector + rdev->sb_start;
@@ -1024,7 +1024,7 @@ static int read_disk_sb(struct md_rdev *rdev, int size)
10241024
if (rdev->sb_loaded)
10251025
return 0;
10261026

1027-
if (!sync_page_io(rdev, 0, size, rdev->sb_page, REQ_OP_READ, 0, true))
1027+
if (!sync_page_io(rdev, 0, size, rdev->sb_page, REQ_OP_READ, true))
10281028
goto fail;
10291029
rdev->sb_loaded = 1;
10301030
return 0;
@@ -1722,7 +1722,7 @@ static int super_1_load(struct md_rdev *rdev, struct md_rdev *refdev, int minor_
17221722
return -EINVAL;
17231723
bb_sector = (long long)offset;
17241724
if (!sync_page_io(rdev, bb_sector, sectors << 9,
1725-
rdev->bb_page, REQ_OP_READ, 0, true))
1725+
rdev->bb_page, REQ_OP_READ, true))
17261726
return -EIO;
17271727
bbp = (__le64 *)page_address(rdev->bb_page);
17281728
rdev->badblocks.shift = sb->bblog_shift;

drivers/md/md.h

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -738,8 +738,7 @@ extern void md_super_write(struct mddev *mddev, struct md_rdev *rdev,
738738
sector_t sector, int size, struct page *page);
739739
extern int md_super_wait(struct mddev *mddev);
740740
extern int sync_page_io(struct md_rdev *rdev, sector_t sector, int size,
741-
struct page *page, int op, int op_flags,
742-
bool metadata_op);
741+
struct page *page, blk_opf_t opf, bool metadata_op);
743742
extern void md_do_sync(struct md_thread *thread);
744743
extern void md_new_event(void);
745744
extern void md_allow_write(struct mddev *mddev);

drivers/md/raid1.c

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1988,9 +1988,9 @@ static void end_sync_write(struct bio *bio)
19881988
}
19891989

19901990
static int r1_sync_page_io(struct md_rdev *rdev, sector_t sector,
1991-
int sectors, struct page *page, int rw)
1991+
int sectors, struct page *page, int rw)
19921992
{
1993-
if (sync_page_io(rdev, sector, sectors << 9, page, rw, 0, false))
1993+
if (sync_page_io(rdev, sector, sectors << 9, page, rw, false))
19941994
/* success */
19951995
return 1;
19961996
if (rw == WRITE) {
@@ -2057,7 +2057,7 @@ static int fix_sync_read_error(struct r1bio *r1_bio)
20572057
rdev = conf->mirrors[d].rdev;
20582058
if (sync_page_io(rdev, sect, s<<9,
20592059
pages[idx],
2060-
REQ_OP_READ, 0, false)) {
2060+
REQ_OP_READ, false)) {
20612061
success = 1;
20622062
break;
20632063
}
@@ -2305,7 +2305,7 @@ static void fix_read_error(struct r1conf *conf, int read_disk,
23052305
atomic_inc(&rdev->nr_pending);
23062306
rcu_read_unlock();
23072307
if (sync_page_io(rdev, sect, s<<9,
2308-
conf->tmppage, REQ_OP_READ, 0, false))
2308+
conf->tmppage, REQ_OP_READ, false))
23092309
success = 1;
23102310
rdev_dec_pending(rdev, mddev);
23112311
if (success)

drivers/md/raid10.c

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2512,15 +2512,15 @@ static void fix_recovery_read_error(struct r10bio *r10_bio)
25122512
addr,
25132513
s << 9,
25142514
pages[idx],
2515-
REQ_OP_READ, 0, false);
2515+
REQ_OP_READ, false);
25162516
if (ok) {
25172517
rdev = conf->mirrors[dw].rdev;
25182518
addr = r10_bio->devs[1].addr + sect;
25192519
ok = sync_page_io(rdev,
25202520
addr,
25212521
s << 9,
25222522
pages[idx],
2523-
REQ_OP_WRITE, 0, false);
2523+
REQ_OP_WRITE, false);
25242524
if (!ok) {
25252525
set_bit(WriteErrorSeen, &rdev->flags);
25262526
if (!test_and_set_bit(WantReplacement,
@@ -2644,7 +2644,7 @@ static int r10_sync_page_io(struct md_rdev *rdev, sector_t sector,
26442644
if (is_badblock(rdev, sector, sectors, &first_bad, &bad_sectors)
26452645
&& (rw == READ || test_bit(WriteErrorSeen, &rdev->flags)))
26462646
return -1;
2647-
if (sync_page_io(rdev, sector, sectors << 9, page, rw, 0, false))
2647+
if (sync_page_io(rdev, sector, sectors << 9, page, rw, false))
26482648
/* success */
26492649
return 1;
26502650
if (rw == WRITE) {
@@ -2726,7 +2726,7 @@ static void fix_read_error(struct r10conf *conf, struct mddev *mddev, struct r10
27262726
sect,
27272727
s<<9,
27282728
conf->tmppage,
2729-
REQ_OP_READ, 0, false);
2729+
REQ_OP_READ, false);
27302730
rdev_dec_pending(rdev, mddev);
27312731
rcu_read_lock();
27322732
if (success)
@@ -5107,7 +5107,7 @@ static int handle_reshape_read_error(struct mddev *mddev,
51075107
addr,
51085108
s << 9,
51095109
pages[idx],
5110-
REQ_OP_READ, 0, false);
5110+
REQ_OP_READ, false);
51115111
rdev_dec_pending(rdev, mddev);
51125112
rcu_read_lock();
51135113
if (success)

drivers/md/raid5-cache.c

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1788,7 +1788,7 @@ static int r5l_log_write_empty_meta_block(struct r5l_log *log, sector_t pos,
17881788
mb = page_address(page);
17891789
mb->checksum = cpu_to_le32(crc32c_le(log->uuid_checksum,
17901790
mb, PAGE_SIZE));
1791-
if (!sync_page_io(log->rdev, pos, PAGE_SIZE, page, REQ_OP_WRITE,
1791+
if (!sync_page_io(log->rdev, pos, PAGE_SIZE, page, REQ_OP_WRITE |
17921792
REQ_SYNC | REQ_FUA, false)) {
17931793
__free_page(page);
17941794
return -EIO;
@@ -1898,7 +1898,7 @@ r5l_recovery_replay_one_stripe(struct r5conf *conf,
18981898
atomic_inc(&rdev->nr_pending);
18991899
rcu_read_unlock();
19001900
sync_page_io(rdev, sh->sector, PAGE_SIZE,
1901-
sh->dev[disk_index].page, REQ_OP_WRITE, 0,
1901+
sh->dev[disk_index].page, REQ_OP_WRITE,
19021902
false);
19031903
rdev_dec_pending(rdev, rdev->mddev);
19041904
rcu_read_lock();
@@ -1908,7 +1908,7 @@ r5l_recovery_replay_one_stripe(struct r5conf *conf,
19081908
atomic_inc(&rrdev->nr_pending);
19091909
rcu_read_unlock();
19101910
sync_page_io(rrdev, sh->sector, PAGE_SIZE,
1911-
sh->dev[disk_index].page, REQ_OP_WRITE, 0,
1911+
sh->dev[disk_index].page, REQ_OP_WRITE,
19121912
false);
19131913
rdev_dec_pending(rrdev, rrdev->mddev);
19141914
rcu_read_lock();
@@ -2394,7 +2394,7 @@ r5c_recovery_rewrite_data_only_stripes(struct r5l_log *log,
23942394
PAGE_SIZE));
23952395
kunmap_atomic(addr);
23962396
sync_page_io(log->rdev, write_pos, PAGE_SIZE,
2397-
dev->page, REQ_OP_WRITE, 0, false);
2397+
dev->page, REQ_OP_WRITE, false);
23982398
write_pos = r5l_ring_add(log, write_pos,
23992399
BLOCK_SECTORS);
24002400
offset += sizeof(__le32) +
@@ -2406,7 +2406,7 @@ r5c_recovery_rewrite_data_only_stripes(struct r5l_log *log,
24062406
mb->checksum = cpu_to_le32(crc32c_le(log->uuid_checksum,
24072407
mb, PAGE_SIZE));
24082408
sync_page_io(log->rdev, ctx->pos, PAGE_SIZE, page,
2409-
REQ_OP_WRITE, REQ_SYNC | REQ_FUA, false);
2409+
REQ_OP_WRITE | REQ_SYNC | REQ_FUA, false);
24102410
sh->log_start = ctx->pos;
24112411
list_add_tail(&sh->r5c, &log->stripe_in_journal_list);
24122412
atomic_inc(&log->stripe_in_journal_count);
@@ -2971,7 +2971,7 @@ static int r5l_load_log(struct r5l_log *log)
29712971
if (!page)
29722972
return -ENOMEM;
29732973

2974-
if (!sync_page_io(rdev, cp, PAGE_SIZE, page, REQ_OP_READ, 0, false)) {
2974+
if (!sync_page_io(rdev, cp, PAGE_SIZE, page, REQ_OP_READ, false)) {
29752975
ret = -EIO;
29762976
goto ioerr;
29772977
}

drivers/md/raid5-ppl.c

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -897,7 +897,7 @@ static int ppl_recover_entry(struct ppl_log *log, struct ppl_header_entry *e,
897897
__func__, indent, "", rdev->bdev,
898898
(unsigned long long)sector);
899899
if (!sync_page_io(rdev, sector, block_size, page2,
900-
REQ_OP_READ, 0, false)) {
900+
REQ_OP_READ, false)) {
901901
md_error(mddev, rdev);
902902
pr_debug("%s:%*s read failed!\n", __func__,
903903
indent, "");
@@ -919,7 +919,7 @@ static int ppl_recover_entry(struct ppl_log *log, struct ppl_header_entry *e,
919919
(unsigned long long)(ppl_sector + i));
920920
if (!sync_page_io(log->rdev,
921921
ppl_sector - log->rdev->data_offset + i,
922-
block_size, page2, REQ_OP_READ, 0,
922+
block_size, page2, REQ_OP_READ,
923923
false)) {
924924
pr_debug("%s:%*s read failed!\n", __func__,
925925
indent, "");
@@ -946,7 +946,7 @@ static int ppl_recover_entry(struct ppl_log *log, struct ppl_header_entry *e,
946946
(unsigned long long)parity_sector,
947947
parity_rdev->bdev);
948948
if (!sync_page_io(parity_rdev, parity_sector, block_size,
949-
page1, REQ_OP_WRITE, 0, false)) {
949+
page1, REQ_OP_WRITE, false)) {
950950
pr_debug("%s:%*s parity write error!\n", __func__,
951951
indent, "");
952952
md_error(mddev, parity_rdev);
@@ -998,7 +998,7 @@ static int ppl_recover(struct ppl_log *log, struct ppl_header *pplhdr,
998998
int s = pp_size > PAGE_SIZE ? PAGE_SIZE : pp_size;
999999

10001000
if (!sync_page_io(rdev, sector - rdev->data_offset,
1001-
s, page, REQ_OP_READ, 0, false)) {
1001+
s, page, REQ_OP_READ, false)) {
10021002
md_error(mddev, rdev);
10031003
ret = -EIO;
10041004
goto out;
@@ -1062,7 +1062,7 @@ static int ppl_write_empty_header(struct ppl_log *log)
10621062

10631063
if (!sync_page_io(rdev, rdev->ppl.sector - rdev->data_offset,
10641064
PPL_HEADER_SIZE, page, REQ_OP_WRITE | REQ_SYNC |
1065-
REQ_FUA, 0, false)) {
1065+
REQ_FUA, false)) {
10661066
md_error(rdev->mddev, rdev);
10671067
ret = -EIO;
10681068
}
@@ -1100,7 +1100,7 @@ static int ppl_load_distributed(struct ppl_log *log)
11001100
if (!sync_page_io(rdev,
11011101
rdev->ppl.sector - rdev->data_offset +
11021102
pplhdr_offset, PAGE_SIZE, page, REQ_OP_READ,
1103-
0, false)) {
1103+
false)) {
11041104
md_error(mddev, rdev);
11051105
ret = -EIO;
11061106
/* if not able to read - don't recover any PPL */

0 commit comments

Comments
 (0)