Skip to content

Commit 5f2127e

Browse files
konisakpm00
authored andcommitted
nilfs2: convert cpfile to use kmap_local
Convert all remaining usages of kmap_atomic in cpfile to kmap_local. Link: https://lkml.kernel.org/r/[email protected] Signed-off-by: Ryusuke Konishi <[email protected]> Signed-off-by: Andrew Morton <[email protected]>
1 parent b2c19c6 commit 5f2127e

File tree

1 file changed

+45
-45
lines changed

1 file changed

+45
-45
lines changed

fs/nilfs2/cpfile.c

Lines changed: 45 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -460,7 +460,7 @@ int nilfs_cpfile_delete_checkpoints(struct inode *cpfile,
460460
continue;
461461
}
462462

463-
kaddr = kmap_atomic(cp_bh->b_page);
463+
kaddr = kmap_local_page(cp_bh->b_page);
464464
cp = nilfs_cpfile_block_get_checkpoint(
465465
cpfile, cno, cp_bh, kaddr);
466466
nicps = 0;
@@ -482,7 +482,7 @@ int nilfs_cpfile_delete_checkpoints(struct inode *cpfile,
482482
cpfile, cp_bh, kaddr, nicps);
483483
if (count == 0) {
484484
/* make hole */
485-
kunmap_atomic(kaddr);
485+
kunmap_local(kaddr);
486486
brelse(cp_bh);
487487
ret =
488488
nilfs_cpfile_delete_checkpoint_block(
@@ -497,18 +497,18 @@ int nilfs_cpfile_delete_checkpoints(struct inode *cpfile,
497497
}
498498
}
499499

500-
kunmap_atomic(kaddr);
500+
kunmap_local(kaddr);
501501
brelse(cp_bh);
502502
}
503503

504504
if (tnicps > 0) {
505-
kaddr = kmap_atomic(header_bh->b_page);
505+
kaddr = kmap_local_page(header_bh->b_page);
506506
header = nilfs_cpfile_block_get_header(cpfile, header_bh,
507507
kaddr);
508508
le64_add_cpu(&header->ch_ncheckpoints, -(u64)tnicps);
509509
mark_buffer_dirty(header_bh);
510510
nilfs_mdt_mark_dirty(cpfile);
511-
kunmap_atomic(kaddr);
511+
kunmap_local(kaddr);
512512
}
513513

514514
brelse(header_bh);
@@ -560,7 +560,7 @@ static ssize_t nilfs_cpfile_do_get_cpinfo(struct inode *cpfile, __u64 *cnop,
560560
}
561561
ncps = nilfs_cpfile_checkpoints_in_block(cpfile, cno, cur_cno);
562562

563-
kaddr = kmap_atomic(bh->b_page);
563+
kaddr = kmap_local_page(bh->b_page);
564564
cp = nilfs_cpfile_block_get_checkpoint(cpfile, cno, bh, kaddr);
565565
for (i = 0; i < ncps && n < nci; i++, cp = (void *)cp + cpsz) {
566566
if (!nilfs_checkpoint_invalid(cp)) {
@@ -570,7 +570,7 @@ static ssize_t nilfs_cpfile_do_get_cpinfo(struct inode *cpfile, __u64 *cnop,
570570
n++;
571571
}
572572
}
573-
kunmap_atomic(kaddr);
573+
kunmap_local(kaddr);
574574
brelse(bh);
575575
}
576576

@@ -604,10 +604,10 @@ static ssize_t nilfs_cpfile_do_get_ssinfo(struct inode *cpfile, __u64 *cnop,
604604
ret = nilfs_cpfile_get_header_block(cpfile, &bh);
605605
if (ret < 0)
606606
goto out;
607-
kaddr = kmap_atomic(bh->b_page);
607+
kaddr = kmap_local_page(bh->b_page);
608608
header = nilfs_cpfile_block_get_header(cpfile, bh, kaddr);
609609
curr = le64_to_cpu(header->ch_snapshot_list.ssl_next);
610-
kunmap_atomic(kaddr);
610+
kunmap_local(kaddr);
611611
brelse(bh);
612612
if (curr == 0) {
613613
ret = 0;
@@ -625,7 +625,7 @@ static ssize_t nilfs_cpfile_do_get_ssinfo(struct inode *cpfile, __u64 *cnop,
625625
ret = 0; /* No snapshots (started from a hole block) */
626626
goto out;
627627
}
628-
kaddr = kmap_atomic(bh->b_page);
628+
kaddr = kmap_local_page(bh->b_page);
629629
while (n < nci) {
630630
cp = nilfs_cpfile_block_get_checkpoint(cpfile, curr, bh, kaddr);
631631
curr = ~(__u64)0; /* Terminator */
@@ -641,20 +641,20 @@ static ssize_t nilfs_cpfile_do_get_ssinfo(struct inode *cpfile, __u64 *cnop,
641641

642642
next_blkoff = nilfs_cpfile_get_blkoff(cpfile, next);
643643
if (curr_blkoff != next_blkoff) {
644-
kunmap_atomic(kaddr);
644+
kunmap_local(kaddr);
645645
brelse(bh);
646646
ret = nilfs_cpfile_get_checkpoint_block(cpfile, next,
647647
0, &bh);
648648
if (unlikely(ret < 0)) {
649649
WARN_ON(ret == -ENOENT);
650650
goto out;
651651
}
652-
kaddr = kmap_atomic(bh->b_page);
652+
kaddr = kmap_local_page(bh->b_page);
653653
}
654654
curr = next;
655655
curr_blkoff = next_blkoff;
656656
}
657-
kunmap_atomic(kaddr);
657+
kunmap_local(kaddr);
658658
brelse(bh);
659659
*cnop = curr;
660660
ret = n;
@@ -763,24 +763,24 @@ static int nilfs_cpfile_set_snapshot(struct inode *cpfile, __u64 cno)
763763
ret = nilfs_cpfile_get_checkpoint_block(cpfile, cno, 0, &cp_bh);
764764
if (ret < 0)
765765
goto out_sem;
766-
kaddr = kmap_atomic(cp_bh->b_page);
766+
kaddr = kmap_local_page(cp_bh->b_page);
767767
cp = nilfs_cpfile_block_get_checkpoint(cpfile, cno, cp_bh, kaddr);
768768
if (nilfs_checkpoint_invalid(cp)) {
769769
ret = -ENOENT;
770-
kunmap_atomic(kaddr);
770+
kunmap_local(kaddr);
771771
goto out_cp;
772772
}
773773
if (nilfs_checkpoint_snapshot(cp)) {
774774
ret = 0;
775-
kunmap_atomic(kaddr);
775+
kunmap_local(kaddr);
776776
goto out_cp;
777777
}
778-
kunmap_atomic(kaddr);
778+
kunmap_local(kaddr);
779779

780780
ret = nilfs_cpfile_get_header_block(cpfile, &header_bh);
781781
if (ret < 0)
782782
goto out_cp;
783-
kaddr = kmap_atomic(header_bh->b_page);
783+
kaddr = kmap_local_page(header_bh->b_page);
784784
header = nilfs_cpfile_block_get_header(cpfile, header_bh, kaddr);
785785
list = &header->ch_snapshot_list;
786786
curr_bh = header_bh;
@@ -792,21 +792,21 @@ static int nilfs_cpfile_set_snapshot(struct inode *cpfile, __u64 cno)
792792
prev_blkoff = nilfs_cpfile_get_blkoff(cpfile, prev);
793793
curr = prev;
794794
if (curr_blkoff != prev_blkoff) {
795-
kunmap_atomic(kaddr);
795+
kunmap_local(kaddr);
796796
brelse(curr_bh);
797797
ret = nilfs_cpfile_get_checkpoint_block(cpfile, curr,
798798
0, &curr_bh);
799799
if (ret < 0)
800800
goto out_header;
801-
kaddr = kmap_atomic(curr_bh->b_page);
801+
kaddr = kmap_local_page(curr_bh->b_page);
802802
}
803803
curr_blkoff = prev_blkoff;
804804
cp = nilfs_cpfile_block_get_checkpoint(
805805
cpfile, curr, curr_bh, kaddr);
806806
list = &cp->cp_snapshot_list;
807807
prev = le64_to_cpu(list->ssl_prev);
808808
}
809-
kunmap_atomic(kaddr);
809+
kunmap_local(kaddr);
810810

811811
if (prev != 0) {
812812
ret = nilfs_cpfile_get_checkpoint_block(cpfile, prev, 0,
@@ -818,29 +818,29 @@ static int nilfs_cpfile_set_snapshot(struct inode *cpfile, __u64 cno)
818818
get_bh(prev_bh);
819819
}
820820

821-
kaddr = kmap_atomic(curr_bh->b_page);
821+
kaddr = kmap_local_page(curr_bh->b_page);
822822
list = nilfs_cpfile_block_get_snapshot_list(
823823
cpfile, curr, curr_bh, kaddr);
824824
list->ssl_prev = cpu_to_le64(cno);
825-
kunmap_atomic(kaddr);
825+
kunmap_local(kaddr);
826826

827-
kaddr = kmap_atomic(cp_bh->b_page);
827+
kaddr = kmap_local_page(cp_bh->b_page);
828828
cp = nilfs_cpfile_block_get_checkpoint(cpfile, cno, cp_bh, kaddr);
829829
cp->cp_snapshot_list.ssl_next = cpu_to_le64(curr);
830830
cp->cp_snapshot_list.ssl_prev = cpu_to_le64(prev);
831831
nilfs_checkpoint_set_snapshot(cp);
832-
kunmap_atomic(kaddr);
832+
kunmap_local(kaddr);
833833

834-
kaddr = kmap_atomic(prev_bh->b_page);
834+
kaddr = kmap_local_page(prev_bh->b_page);
835835
list = nilfs_cpfile_block_get_snapshot_list(
836836
cpfile, prev, prev_bh, kaddr);
837837
list->ssl_next = cpu_to_le64(cno);
838-
kunmap_atomic(kaddr);
838+
kunmap_local(kaddr);
839839

840-
kaddr = kmap_atomic(header_bh->b_page);
840+
kaddr = kmap_local_page(header_bh->b_page);
841841
header = nilfs_cpfile_block_get_header(cpfile, header_bh, kaddr);
842842
le64_add_cpu(&header->ch_nsnapshots, 1);
843-
kunmap_atomic(kaddr);
843+
kunmap_local(kaddr);
844844

845845
mark_buffer_dirty(prev_bh);
846846
mark_buffer_dirty(curr_bh);
@@ -881,23 +881,23 @@ static int nilfs_cpfile_clear_snapshot(struct inode *cpfile, __u64 cno)
881881
ret = nilfs_cpfile_get_checkpoint_block(cpfile, cno, 0, &cp_bh);
882882
if (ret < 0)
883883
goto out_sem;
884-
kaddr = kmap_atomic(cp_bh->b_page);
884+
kaddr = kmap_local_page(cp_bh->b_page);
885885
cp = nilfs_cpfile_block_get_checkpoint(cpfile, cno, cp_bh, kaddr);
886886
if (nilfs_checkpoint_invalid(cp)) {
887887
ret = -ENOENT;
888-
kunmap_atomic(kaddr);
888+
kunmap_local(kaddr);
889889
goto out_cp;
890890
}
891891
if (!nilfs_checkpoint_snapshot(cp)) {
892892
ret = 0;
893-
kunmap_atomic(kaddr);
893+
kunmap_local(kaddr);
894894
goto out_cp;
895895
}
896896

897897
list = &cp->cp_snapshot_list;
898898
next = le64_to_cpu(list->ssl_next);
899899
prev = le64_to_cpu(list->ssl_prev);
900-
kunmap_atomic(kaddr);
900+
kunmap_local(kaddr);
901901

902902
ret = nilfs_cpfile_get_header_block(cpfile, &header_bh);
903903
if (ret < 0)
@@ -921,29 +921,29 @@ static int nilfs_cpfile_clear_snapshot(struct inode *cpfile, __u64 cno)
921921
get_bh(prev_bh);
922922
}
923923

924-
kaddr = kmap_atomic(next_bh->b_page);
924+
kaddr = kmap_local_page(next_bh->b_page);
925925
list = nilfs_cpfile_block_get_snapshot_list(
926926
cpfile, next, next_bh, kaddr);
927927
list->ssl_prev = cpu_to_le64(prev);
928-
kunmap_atomic(kaddr);
928+
kunmap_local(kaddr);
929929

930-
kaddr = kmap_atomic(prev_bh->b_page);
930+
kaddr = kmap_local_page(prev_bh->b_page);
931931
list = nilfs_cpfile_block_get_snapshot_list(
932932
cpfile, prev, prev_bh, kaddr);
933933
list->ssl_next = cpu_to_le64(next);
934-
kunmap_atomic(kaddr);
934+
kunmap_local(kaddr);
935935

936-
kaddr = kmap_atomic(cp_bh->b_page);
936+
kaddr = kmap_local_page(cp_bh->b_page);
937937
cp = nilfs_cpfile_block_get_checkpoint(cpfile, cno, cp_bh, kaddr);
938938
cp->cp_snapshot_list.ssl_next = cpu_to_le64(0);
939939
cp->cp_snapshot_list.ssl_prev = cpu_to_le64(0);
940940
nilfs_checkpoint_clear_snapshot(cp);
941-
kunmap_atomic(kaddr);
941+
kunmap_local(kaddr);
942942

943-
kaddr = kmap_atomic(header_bh->b_page);
943+
kaddr = kmap_local_page(header_bh->b_page);
944944
header = nilfs_cpfile_block_get_header(cpfile, header_bh, kaddr);
945945
le64_add_cpu(&header->ch_nsnapshots, -1);
946-
kunmap_atomic(kaddr);
946+
kunmap_local(kaddr);
947947

948948
mark_buffer_dirty(next_bh);
949949
mark_buffer_dirty(prev_bh);
@@ -1002,13 +1002,13 @@ int nilfs_cpfile_is_snapshot(struct inode *cpfile, __u64 cno)
10021002
ret = nilfs_cpfile_get_checkpoint_block(cpfile, cno, 0, &bh);
10031003
if (ret < 0)
10041004
goto out;
1005-
kaddr = kmap_atomic(bh->b_page);
1005+
kaddr = kmap_local_page(bh->b_page);
10061006
cp = nilfs_cpfile_block_get_checkpoint(cpfile, cno, bh, kaddr);
10071007
if (nilfs_checkpoint_invalid(cp))
10081008
ret = -ENOENT;
10091009
else
10101010
ret = nilfs_checkpoint_snapshot(cp);
1011-
kunmap_atomic(kaddr);
1011+
kunmap_local(kaddr);
10121012
brelse(bh);
10131013

10141014
out:
@@ -1085,12 +1085,12 @@ int nilfs_cpfile_get_stat(struct inode *cpfile, struct nilfs_cpstat *cpstat)
10851085
ret = nilfs_cpfile_get_header_block(cpfile, &bh);
10861086
if (ret < 0)
10871087
goto out_sem;
1088-
kaddr = kmap_atomic(bh->b_page);
1088+
kaddr = kmap_local_page(bh->b_page);
10891089
header = nilfs_cpfile_block_get_header(cpfile, bh, kaddr);
10901090
cpstat->cs_cno = nilfs_mdt_cno(cpfile);
10911091
cpstat->cs_ncps = le64_to_cpu(header->ch_ncheckpoints);
10921092
cpstat->cs_nsss = le64_to_cpu(header->ch_nsnapshots);
1093-
kunmap_atomic(kaddr);
1093+
kunmap_local(kaddr);
10941094
brelse(bh);
10951095

10961096
out_sem:

0 commit comments

Comments
 (0)