Commit 4b38431
btrfs: Introduce extent_read_full_page_nolock()
We want this for btrfs_extent_same. Basically readpage and friends do their
own extent locking but for the purposes of dedupe, we want to have both
files locked down across a set of readpage operations (so that we can
compare data). Introduce this variant and a flag which can be set for
extent_read_full_page() to indicate that we are already locked.
Partial credit for this patch goes to Gabriel de Perthuis <g2p.code@gmail.com>
as I have included a fix from him to the original patch which avoids a
deadlock on compressed extents.
Signed-off-by: Mark Fasheh <mfasheh@suse.de>
Signed-off-by: Josef Bacik <jbacik@fusionio.com>
Signed-off-by: Chris Mason <chris.mason@fusionio.com>1 parent 32b7c68 commit 4b38431
3 files changed
+37
-9
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
639 | 639 | | |
640 | 640 | | |
641 | 641 | | |
642 | | - | |
| 642 | + | |
| 643 | + | |
| 644 | + | |
| 645 | + | |
| 646 | + | |
643 | 647 | | |
644 | 648 | | |
645 | 649 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2764 | 2764 | | |
2765 | 2765 | | |
2766 | 2766 | | |
| 2767 | + | |
2767 | 2768 | | |
2768 | 2769 | | |
2769 | 2770 | | |
2770 | 2771 | | |
2771 | | - | |
| 2772 | + | |
2772 | 2773 | | |
2773 | 2774 | | |
2774 | 2775 | | |
| |||
2807 | 2808 | | |
2808 | 2809 | | |
2809 | 2810 | | |
2810 | | - | |
2811 | | - | |
| 2811 | + | |
| 2812 | + | |
| 2813 | + | |
| 2814 | + | |
2812 | 2815 | | |
2813 | 2816 | | |
2814 | 2817 | | |
2815 | 2818 | | |
2816 | 2819 | | |
2817 | 2820 | | |
2818 | | - | |
| 2821 | + | |
| 2822 | + | |
2819 | 2823 | | |
2820 | 2824 | | |
2821 | 2825 | | |
2822 | 2826 | | |
2823 | 2827 | | |
2824 | 2828 | | |
2825 | 2829 | | |
2826 | | - | |
| 2830 | + | |
2827 | 2831 | | |
2828 | 2832 | | |
2829 | 2833 | | |
| |||
2867 | 2871 | | |
2868 | 2872 | | |
2869 | 2873 | | |
2870 | | - | |
| 2874 | + | |
| 2875 | + | |
2871 | 2876 | | |
2872 | 2877 | | |
2873 | 2878 | | |
| |||
2877 | 2882 | | |
2878 | 2883 | | |
2879 | 2884 | | |
2880 | | - | |
| 2885 | + | |
| 2886 | + | |
2881 | 2887 | | |
2882 | 2888 | | |
2883 | 2889 | | |
| |||
2895 | 2901 | | |
2896 | 2902 | | |
2897 | 2903 | | |
2898 | | - | |
| 2904 | + | |
| 2905 | + | |
2899 | 2906 | | |
2900 | 2907 | | |
2901 | 2908 | | |
| |||
3021 | 3028 | | |
3022 | 3029 | | |
3023 | 3030 | | |
| 3031 | + | |
| 3032 | + | |
| 3033 | + | |
| 3034 | + | |
| 3035 | + | |
| 3036 | + | |
| 3037 | + | |
| 3038 | + | |
| 3039 | + | |
| 3040 | + | |
| 3041 | + | |
| 3042 | + | |
| 3043 | + | |
| 3044 | + | |
3024 | 3045 | | |
3025 | 3046 | | |
3026 | 3047 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
29 | 29 | | |
30 | 30 | | |
31 | 31 | | |
| 32 | + | |
32 | 33 | | |
33 | 34 | | |
34 | 35 | | |
| |||
199 | 200 | | |
200 | 201 | | |
201 | 202 | | |
| 203 | + | |
| 204 | + | |
202 | 205 | | |
203 | 206 | | |
204 | 207 | | |
| |||
0 commit comments