Commit 099ef9a
committed
fs/ntfs3: implement iomap-based file operations
This patch modifies the ntfs3 driver by replacing the buffer_head-based
operations with the iomap ones.
Implementation details:
- Implements core iomap operations (ntfs_iomap_begin/end) for block mapping:
Proper handling of resident attributes via IOMAP_INLINE.
Support for sparse files through IOMAP_HOLE semantics.
Correct unwritten extent handling for zeroing operations.
- Replaces custom implementations with standardized iomap helpers:
Converts buffered reads to use iomap_read_folio and iomap_readahead.
Implements iomap_file_buffered_write for write operations.
Uses iomap_dio_rw for direct I/O paths.
Migrates zero range operations to iomap_zero_range.
- Preserves special handling paths for compressed files
- Implements proper EOF/valid data size management during writes
Signed-off-by: Konstantin Komarov <almaz.alexandrovich@paragon-software.com>1 parent e37a75b commit 099ef9a
8 files changed
Lines changed: 600 additions & 789 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
166 | 166 | | |
167 | 167 | | |
168 | 168 | | |
| 169 | + | |
| 170 | + | |
| 171 | + | |
| 172 | + | |
| 173 | + | |
| 174 | + | |
169 | 175 | | |
170 | 176 | | |
171 | 177 | | |
| |||
886 | 892 | | |
887 | 893 | | |
888 | 894 | | |
889 | | - | |
| 895 | + | |
890 | 896 | | |
891 | 897 | | |
892 | 898 | | |
| |||
903 | 909 | | |
904 | 910 | | |
905 | 911 | | |
| 912 | + | |
| 913 | + | |
906 | 914 | | |
907 | 915 | | |
908 | 916 | | |
| |||
939 | 947 | | |
940 | 948 | | |
941 | 949 | | |
| 950 | + | |
942 | 951 | | |
943 | | - | |
| 952 | + | |
| 953 | + | |
| 954 | + | |
| 955 | + | |
| 956 | + | |
| 957 | + | |
| 958 | + | |
944 | 959 | | |
945 | 960 | | |
946 | 961 | | |
| |||
1028 | 1043 | | |
1029 | 1044 | | |
1030 | 1045 | | |
1031 | | - | |
| 1046 | + | |
| 1047 | + | |
1032 | 1048 | | |
1033 | 1049 | | |
1034 | 1050 | | |
| |||
1244 | 1260 | | |
1245 | 1261 | | |
1246 | 1262 | | |
1247 | | - | |
1248 | | - | |
1249 | | - | |
1250 | | - | |
1251 | | - | |
1252 | | - | |
1253 | | - | |
1254 | | - | |
1255 | | - | |
1256 | | - | |
1257 | | - | |
1258 | | - | |
1259 | | - | |
1260 | | - | |
1261 | | - | |
1262 | | - | |
1263 | | - | |
1264 | | - | |
1265 | | - | |
1266 | | - | |
1267 | | - | |
1268 | | - | |
1269 | | - | |
1270 | | - | |
1271 | | - | |
1272 | | - | |
1273 | | - | |
1274 | 1263 | | |
1275 | 1264 | | |
1276 | 1265 | | |
| |||
1287 | 1276 | | |
1288 | 1277 | | |
1289 | 1278 | | |
1290 | | - | |
| 1279 | + | |
1291 | 1280 | | |
1292 | 1281 | | |
1293 | 1282 | | |
| |||
1360 | 1349 | | |
1361 | 1350 | | |
1362 | 1351 | | |
1363 | | - | |
1364 | | - | |
1365 | | - | |
1366 | | - | |
1367 | | - | |
1368 | | - | |
1369 | | - | |
1370 | | - | |
1371 | | - | |
1372 | | - | |
1373 | | - | |
1374 | | - | |
1375 | | - | |
1376 | | - | |
| 1352 | + | |
1377 | 1353 | | |
| 1354 | + | |
| 1355 | + | |
| 1356 | + | |
| 1357 | + | |
| 1358 | + | |
| 1359 | + | |
| 1360 | + | |
| 1361 | + | |
| 1362 | + | |
| 1363 | + | |
| 1364 | + | |
| 1365 | + | |
1378 | 1366 | | |
1379 | 1367 | | |
1380 | 1368 | | |
| |||
0 commit comments