@@ -460,7 +460,7 @@ int nilfs_cpfile_delete_checkpoints(struct inode *cpfile,
460
460
continue ;
461
461
}
462
462
463
- kaddr = kmap_atomic (cp_bh -> b_page );
463
+ kaddr = kmap_local_page (cp_bh -> b_page );
464
464
cp = nilfs_cpfile_block_get_checkpoint (
465
465
cpfile , cno , cp_bh , kaddr );
466
466
nicps = 0 ;
@@ -482,7 +482,7 @@ int nilfs_cpfile_delete_checkpoints(struct inode *cpfile,
482
482
cpfile , cp_bh , kaddr , nicps );
483
483
if (count == 0 ) {
484
484
/* make hole */
485
- kunmap_atomic (kaddr );
485
+ kunmap_local (kaddr );
486
486
brelse (cp_bh );
487
487
ret =
488
488
nilfs_cpfile_delete_checkpoint_block (
@@ -497,18 +497,18 @@ int nilfs_cpfile_delete_checkpoints(struct inode *cpfile,
497
497
}
498
498
}
499
499
500
- kunmap_atomic (kaddr );
500
+ kunmap_local (kaddr );
501
501
brelse (cp_bh );
502
502
}
503
503
504
504
if (tnicps > 0 ) {
505
- kaddr = kmap_atomic (header_bh -> b_page );
505
+ kaddr = kmap_local_page (header_bh -> b_page );
506
506
header = nilfs_cpfile_block_get_header (cpfile , header_bh ,
507
507
kaddr );
508
508
le64_add_cpu (& header -> ch_ncheckpoints , - (u64 )tnicps );
509
509
mark_buffer_dirty (header_bh );
510
510
nilfs_mdt_mark_dirty (cpfile );
511
- kunmap_atomic (kaddr );
511
+ kunmap_local (kaddr );
512
512
}
513
513
514
514
brelse (header_bh );
@@ -560,7 +560,7 @@ static ssize_t nilfs_cpfile_do_get_cpinfo(struct inode *cpfile, __u64 *cnop,
560
560
}
561
561
ncps = nilfs_cpfile_checkpoints_in_block (cpfile , cno , cur_cno );
562
562
563
- kaddr = kmap_atomic (bh -> b_page );
563
+ kaddr = kmap_local_page (bh -> b_page );
564
564
cp = nilfs_cpfile_block_get_checkpoint (cpfile , cno , bh , kaddr );
565
565
for (i = 0 ; i < ncps && n < nci ; i ++ , cp = (void * )cp + cpsz ) {
566
566
if (!nilfs_checkpoint_invalid (cp )) {
@@ -570,7 +570,7 @@ static ssize_t nilfs_cpfile_do_get_cpinfo(struct inode *cpfile, __u64 *cnop,
570
570
n ++ ;
571
571
}
572
572
}
573
- kunmap_atomic (kaddr );
573
+ kunmap_local (kaddr );
574
574
brelse (bh );
575
575
}
576
576
@@ -604,10 +604,10 @@ static ssize_t nilfs_cpfile_do_get_ssinfo(struct inode *cpfile, __u64 *cnop,
604
604
ret = nilfs_cpfile_get_header_block (cpfile , & bh );
605
605
if (ret < 0 )
606
606
goto out ;
607
- kaddr = kmap_atomic (bh -> b_page );
607
+ kaddr = kmap_local_page (bh -> b_page );
608
608
header = nilfs_cpfile_block_get_header (cpfile , bh , kaddr );
609
609
curr = le64_to_cpu (header -> ch_snapshot_list .ssl_next );
610
- kunmap_atomic (kaddr );
610
+ kunmap_local (kaddr );
611
611
brelse (bh );
612
612
if (curr == 0 ) {
613
613
ret = 0 ;
@@ -625,7 +625,7 @@ static ssize_t nilfs_cpfile_do_get_ssinfo(struct inode *cpfile, __u64 *cnop,
625
625
ret = 0 ; /* No snapshots (started from a hole block) */
626
626
goto out ;
627
627
}
628
- kaddr = kmap_atomic (bh -> b_page );
628
+ kaddr = kmap_local_page (bh -> b_page );
629
629
while (n < nci ) {
630
630
cp = nilfs_cpfile_block_get_checkpoint (cpfile , curr , bh , kaddr );
631
631
curr = ~(__u64 )0 ; /* Terminator */
@@ -641,20 +641,20 @@ static ssize_t nilfs_cpfile_do_get_ssinfo(struct inode *cpfile, __u64 *cnop,
641
641
642
642
next_blkoff = nilfs_cpfile_get_blkoff (cpfile , next );
643
643
if (curr_blkoff != next_blkoff ) {
644
- kunmap_atomic (kaddr );
644
+ kunmap_local (kaddr );
645
645
brelse (bh );
646
646
ret = nilfs_cpfile_get_checkpoint_block (cpfile , next ,
647
647
0 , & bh );
648
648
if (unlikely (ret < 0 )) {
649
649
WARN_ON (ret == - ENOENT );
650
650
goto out ;
651
651
}
652
- kaddr = kmap_atomic (bh -> b_page );
652
+ kaddr = kmap_local_page (bh -> b_page );
653
653
}
654
654
curr = next ;
655
655
curr_blkoff = next_blkoff ;
656
656
}
657
- kunmap_atomic (kaddr );
657
+ kunmap_local (kaddr );
658
658
brelse (bh );
659
659
* cnop = curr ;
660
660
ret = n ;
@@ -763,24 +763,24 @@ static int nilfs_cpfile_set_snapshot(struct inode *cpfile, __u64 cno)
763
763
ret = nilfs_cpfile_get_checkpoint_block (cpfile , cno , 0 , & cp_bh );
764
764
if (ret < 0 )
765
765
goto out_sem ;
766
- kaddr = kmap_atomic (cp_bh -> b_page );
766
+ kaddr = kmap_local_page (cp_bh -> b_page );
767
767
cp = nilfs_cpfile_block_get_checkpoint (cpfile , cno , cp_bh , kaddr );
768
768
if (nilfs_checkpoint_invalid (cp )) {
769
769
ret = - ENOENT ;
770
- kunmap_atomic (kaddr );
770
+ kunmap_local (kaddr );
771
771
goto out_cp ;
772
772
}
773
773
if (nilfs_checkpoint_snapshot (cp )) {
774
774
ret = 0 ;
775
- kunmap_atomic (kaddr );
775
+ kunmap_local (kaddr );
776
776
goto out_cp ;
777
777
}
778
- kunmap_atomic (kaddr );
778
+ kunmap_local (kaddr );
779
779
780
780
ret = nilfs_cpfile_get_header_block (cpfile , & header_bh );
781
781
if (ret < 0 )
782
782
goto out_cp ;
783
- kaddr = kmap_atomic (header_bh -> b_page );
783
+ kaddr = kmap_local_page (header_bh -> b_page );
784
784
header = nilfs_cpfile_block_get_header (cpfile , header_bh , kaddr );
785
785
list = & header -> ch_snapshot_list ;
786
786
curr_bh = header_bh ;
@@ -792,21 +792,21 @@ static int nilfs_cpfile_set_snapshot(struct inode *cpfile, __u64 cno)
792
792
prev_blkoff = nilfs_cpfile_get_blkoff (cpfile , prev );
793
793
curr = prev ;
794
794
if (curr_blkoff != prev_blkoff ) {
795
- kunmap_atomic (kaddr );
795
+ kunmap_local (kaddr );
796
796
brelse (curr_bh );
797
797
ret = nilfs_cpfile_get_checkpoint_block (cpfile , curr ,
798
798
0 , & curr_bh );
799
799
if (ret < 0 )
800
800
goto out_header ;
801
- kaddr = kmap_atomic (curr_bh -> b_page );
801
+ kaddr = kmap_local_page (curr_bh -> b_page );
802
802
}
803
803
curr_blkoff = prev_blkoff ;
804
804
cp = nilfs_cpfile_block_get_checkpoint (
805
805
cpfile , curr , curr_bh , kaddr );
806
806
list = & cp -> cp_snapshot_list ;
807
807
prev = le64_to_cpu (list -> ssl_prev );
808
808
}
809
- kunmap_atomic (kaddr );
809
+ kunmap_local (kaddr );
810
810
811
811
if (prev != 0 ) {
812
812
ret = nilfs_cpfile_get_checkpoint_block (cpfile , prev , 0 ,
@@ -818,29 +818,29 @@ static int nilfs_cpfile_set_snapshot(struct inode *cpfile, __u64 cno)
818
818
get_bh (prev_bh );
819
819
}
820
820
821
- kaddr = kmap_atomic (curr_bh -> b_page );
821
+ kaddr = kmap_local_page (curr_bh -> b_page );
822
822
list = nilfs_cpfile_block_get_snapshot_list (
823
823
cpfile , curr , curr_bh , kaddr );
824
824
list -> ssl_prev = cpu_to_le64 (cno );
825
- kunmap_atomic (kaddr );
825
+ kunmap_local (kaddr );
826
826
827
- kaddr = kmap_atomic (cp_bh -> b_page );
827
+ kaddr = kmap_local_page (cp_bh -> b_page );
828
828
cp = nilfs_cpfile_block_get_checkpoint (cpfile , cno , cp_bh , kaddr );
829
829
cp -> cp_snapshot_list .ssl_next = cpu_to_le64 (curr );
830
830
cp -> cp_snapshot_list .ssl_prev = cpu_to_le64 (prev );
831
831
nilfs_checkpoint_set_snapshot (cp );
832
- kunmap_atomic (kaddr );
832
+ kunmap_local (kaddr );
833
833
834
- kaddr = kmap_atomic (prev_bh -> b_page );
834
+ kaddr = kmap_local_page (prev_bh -> b_page );
835
835
list = nilfs_cpfile_block_get_snapshot_list (
836
836
cpfile , prev , prev_bh , kaddr );
837
837
list -> ssl_next = cpu_to_le64 (cno );
838
- kunmap_atomic (kaddr );
838
+ kunmap_local (kaddr );
839
839
840
- kaddr = kmap_atomic (header_bh -> b_page );
840
+ kaddr = kmap_local_page (header_bh -> b_page );
841
841
header = nilfs_cpfile_block_get_header (cpfile , header_bh , kaddr );
842
842
le64_add_cpu (& header -> ch_nsnapshots , 1 );
843
- kunmap_atomic (kaddr );
843
+ kunmap_local (kaddr );
844
844
845
845
mark_buffer_dirty (prev_bh );
846
846
mark_buffer_dirty (curr_bh );
@@ -881,23 +881,23 @@ static int nilfs_cpfile_clear_snapshot(struct inode *cpfile, __u64 cno)
881
881
ret = nilfs_cpfile_get_checkpoint_block (cpfile , cno , 0 , & cp_bh );
882
882
if (ret < 0 )
883
883
goto out_sem ;
884
- kaddr = kmap_atomic (cp_bh -> b_page );
884
+ kaddr = kmap_local_page (cp_bh -> b_page );
885
885
cp = nilfs_cpfile_block_get_checkpoint (cpfile , cno , cp_bh , kaddr );
886
886
if (nilfs_checkpoint_invalid (cp )) {
887
887
ret = - ENOENT ;
888
- kunmap_atomic (kaddr );
888
+ kunmap_local (kaddr );
889
889
goto out_cp ;
890
890
}
891
891
if (!nilfs_checkpoint_snapshot (cp )) {
892
892
ret = 0 ;
893
- kunmap_atomic (kaddr );
893
+ kunmap_local (kaddr );
894
894
goto out_cp ;
895
895
}
896
896
897
897
list = & cp -> cp_snapshot_list ;
898
898
next = le64_to_cpu (list -> ssl_next );
899
899
prev = le64_to_cpu (list -> ssl_prev );
900
- kunmap_atomic (kaddr );
900
+ kunmap_local (kaddr );
901
901
902
902
ret = nilfs_cpfile_get_header_block (cpfile , & header_bh );
903
903
if (ret < 0 )
@@ -921,29 +921,29 @@ static int nilfs_cpfile_clear_snapshot(struct inode *cpfile, __u64 cno)
921
921
get_bh (prev_bh );
922
922
}
923
923
924
- kaddr = kmap_atomic (next_bh -> b_page );
924
+ kaddr = kmap_local_page (next_bh -> b_page );
925
925
list = nilfs_cpfile_block_get_snapshot_list (
926
926
cpfile , next , next_bh , kaddr );
927
927
list -> ssl_prev = cpu_to_le64 (prev );
928
- kunmap_atomic (kaddr );
928
+ kunmap_local (kaddr );
929
929
930
- kaddr = kmap_atomic (prev_bh -> b_page );
930
+ kaddr = kmap_local_page (prev_bh -> b_page );
931
931
list = nilfs_cpfile_block_get_snapshot_list (
932
932
cpfile , prev , prev_bh , kaddr );
933
933
list -> ssl_next = cpu_to_le64 (next );
934
- kunmap_atomic (kaddr );
934
+ kunmap_local (kaddr );
935
935
936
- kaddr = kmap_atomic (cp_bh -> b_page );
936
+ kaddr = kmap_local_page (cp_bh -> b_page );
937
937
cp = nilfs_cpfile_block_get_checkpoint (cpfile , cno , cp_bh , kaddr );
938
938
cp -> cp_snapshot_list .ssl_next = cpu_to_le64 (0 );
939
939
cp -> cp_snapshot_list .ssl_prev = cpu_to_le64 (0 );
940
940
nilfs_checkpoint_clear_snapshot (cp );
941
- kunmap_atomic (kaddr );
941
+ kunmap_local (kaddr );
942
942
943
- kaddr = kmap_atomic (header_bh -> b_page );
943
+ kaddr = kmap_local_page (header_bh -> b_page );
944
944
header = nilfs_cpfile_block_get_header (cpfile , header_bh , kaddr );
945
945
le64_add_cpu (& header -> ch_nsnapshots , -1 );
946
- kunmap_atomic (kaddr );
946
+ kunmap_local (kaddr );
947
947
948
948
mark_buffer_dirty (next_bh );
949
949
mark_buffer_dirty (prev_bh );
@@ -1002,13 +1002,13 @@ int nilfs_cpfile_is_snapshot(struct inode *cpfile, __u64 cno)
1002
1002
ret = nilfs_cpfile_get_checkpoint_block (cpfile , cno , 0 , & bh );
1003
1003
if (ret < 0 )
1004
1004
goto out ;
1005
- kaddr = kmap_atomic (bh -> b_page );
1005
+ kaddr = kmap_local_page (bh -> b_page );
1006
1006
cp = nilfs_cpfile_block_get_checkpoint (cpfile , cno , bh , kaddr );
1007
1007
if (nilfs_checkpoint_invalid (cp ))
1008
1008
ret = - ENOENT ;
1009
1009
else
1010
1010
ret = nilfs_checkpoint_snapshot (cp );
1011
- kunmap_atomic (kaddr );
1011
+ kunmap_local (kaddr );
1012
1012
brelse (bh );
1013
1013
1014
1014
out :
@@ -1085,12 +1085,12 @@ int nilfs_cpfile_get_stat(struct inode *cpfile, struct nilfs_cpstat *cpstat)
1085
1085
ret = nilfs_cpfile_get_header_block (cpfile , & bh );
1086
1086
if (ret < 0 )
1087
1087
goto out_sem ;
1088
- kaddr = kmap_atomic (bh -> b_page );
1088
+ kaddr = kmap_local_page (bh -> b_page );
1089
1089
header = nilfs_cpfile_block_get_header (cpfile , bh , kaddr );
1090
1090
cpstat -> cs_cno = nilfs_mdt_cno (cpfile );
1091
1091
cpstat -> cs_ncps = le64_to_cpu (header -> ch_ncheckpoints );
1092
1092
cpstat -> cs_nsss = le64_to_cpu (header -> ch_nsnapshots );
1093
- kunmap_atomic (kaddr );
1093
+ kunmap_local (kaddr );
1094
1094
brelse (bh );
1095
1095
1096
1096
out_sem :
0 commit comments