Commit 16ee6b5
btrfs-progs: mkfs: add --reflink option
When we are using mkfs.btrfs with --rootdir to create an image, we read
each file into memory and write it back into the new image. Add an
option --reflink, which uses FICLONERANGE to do this instead.
This obviously only works if the source directory and image are located
on the same volume, and if the filesystem supports FICLONERANGE. We also
have to handle the last sector manually if the file isn't a whole number
of sectors, as the ioctl can't handle this if we're writing into the
middle of a file.
Pull-request: #1023
Signed-off-by: Mark Harmstone <mark@harmstone.com>
Signed-off-by: David Sterba <dsterba@suse.com>1 parent 7ab87a0 commit 16ee6b5
3 files changed
+105
-7
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
473 | 473 | | |
474 | 474 | | |
475 | 475 | | |
| 476 | + | |
476 | 477 | | |
477 | 478 | | |
478 | 479 | | |
| |||
1235 | 1236 | | |
1236 | 1237 | | |
1237 | 1238 | | |
1238 | | - | |
| 1239 | + | |
1239 | 1240 | | |
1240 | 1241 | | |
1241 | 1242 | | |
| |||
1287 | 1288 | | |
1288 | 1289 | | |
1289 | 1290 | | |
| 1291 | + | |
1290 | 1292 | | |
1291 | 1293 | | |
1292 | 1294 | | |
| |||
1316 | 1318 | | |
1317 | 1319 | | |
1318 | 1320 | | |
| 1321 | + | |
1319 | 1322 | | |
1320 | 1323 | | |
1321 | 1324 | | |
| |||
1465 | 1468 | | |
1466 | 1469 | | |
1467 | 1470 | | |
| 1471 | + | |
| 1472 | + | |
| 1473 | + | |
1468 | 1474 | | |
1469 | 1475 | | |
1470 | 1476 | | |
| |||
1502 | 1508 | | |
1503 | 1509 | | |
1504 | 1510 | | |
| 1511 | + | |
| 1512 | + | |
| 1513 | + | |
| 1514 | + | |
| 1515 | + | |
1505 | 1516 | | |
1506 | 1517 | | |
1507 | 1518 | | |
| |||
2135 | 2146 | | |
2136 | 2147 | | |
2137 | 2148 | | |
2138 | | - | |
| 2149 | + | |
| 2150 | + | |
2139 | 2151 | | |
2140 | 2152 | | |
2141 | 2153 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
19 | 19 | | |
20 | 20 | | |
21 | 21 | | |
| 22 | + | |
22 | 23 | | |
23 | 24 | | |
24 | 25 | | |
| |||
158 | 159 | | |
159 | 160 | | |
160 | 161 | | |
| 162 | + | |
161 | 163 | | |
162 | 164 | | |
163 | 165 | | |
| |||
702 | 704 | | |
703 | 705 | | |
704 | 706 | | |
| 707 | + | |
| 708 | + | |
| 709 | + | |
| 710 | + | |
| 711 | + | |
| 712 | + | |
| 713 | + | |
| 714 | + | |
| 715 | + | |
| 716 | + | |
| 717 | + | |
| 718 | + | |
| 719 | + | |
| 720 | + | |
| 721 | + | |
| 722 | + | |
| 723 | + | |
| 724 | + | |
| 725 | + | |
| 726 | + | |
| 727 | + | |
| 728 | + | |
| 729 | + | |
| 730 | + | |
| 731 | + | |
| 732 | + | |
| 733 | + | |
| 734 | + | |
| 735 | + | |
| 736 | + | |
| 737 | + | |
| 738 | + | |
| 739 | + | |
| 740 | + | |
| 741 | + | |
| 742 | + | |
| 743 | + | |
| 744 | + | |
| 745 | + | |
| 746 | + | |
| 747 | + | |
| 748 | + | |
| 749 | + | |
| 750 | + | |
| 751 | + | |
| 752 | + | |
| 753 | + | |
| 754 | + | |
| 755 | + | |
| 756 | + | |
| 757 | + | |
| 758 | + | |
| 759 | + | |
| 760 | + | |
| 761 | + | |
| 762 | + | |
| 763 | + | |
| 764 | + | |
| 765 | + | |
| 766 | + | |
| 767 | + | |
| 768 | + | |
| 769 | + | |
| 770 | + | |
| 771 | + | |
| 772 | + | |
| 773 | + | |
| 774 | + | |
| 775 | + | |
| 776 | + | |
| 777 | + | |
| 778 | + | |
| 779 | + | |
| 780 | + | |
| 781 | + | |
| 782 | + | |
| 783 | + | |
705 | 784 | | |
706 | 785 | | |
707 | 786 | | |
| |||
721 | 800 | | |
722 | 801 | | |
723 | 802 | | |
724 | | - | |
| 803 | + | |
725 | 804 | | |
726 | 805 | | |
727 | 806 | | |
| |||
852 | 931 | | |
853 | 932 | | |
854 | 933 | | |
855 | | - | |
856 | | - | |
| 934 | + | |
| 935 | + | |
| 936 | + | |
| 937 | + | |
| 938 | + | |
| 939 | + | |
| 940 | + | |
| 941 | + | |
857 | 942 | | |
858 | 943 | | |
859 | 944 | | |
| |||
1835 | 1920 | | |
1836 | 1921 | | |
1837 | 1922 | | |
1838 | | - | |
| 1923 | + | |
1839 | 1924 | | |
1840 | 1925 | | |
1841 | 1926 | | |
| |||
1883 | 1968 | | |
1884 | 1969 | | |
1885 | 1970 | | |
| 1971 | + | |
1886 | 1972 | | |
1887 | 1973 | | |
1888 | 1974 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
69 | 69 | | |
70 | 70 | | |
71 | 71 | | |
72 | | - | |
| 72 | + | |
73 | 73 | | |
74 | 74 | | |
75 | 75 | | |
| |||
0 commit comments