Commit f878973
committed
Merge patch series "iomap: allow the file system to submit the writeback bios"
Christoph Hellwig <hch@lst.de> says:
This series contains the iomap prep work to support zoned XFS.
The biggest changes are:
- an option to reuse the ioend code for direct writes in addition to the
current use for buffered writeback, which allows the file system to
track completions on a per-bio basis instead of the current end_io
callback which operates on the entire I/O.
Note that it might make sense to split the ioend code from
buffered-io.c into its own file with this. Let me know what you think
of that and I can include it in the next version
- change of the writeback_ops so that the submit_bio call can be done by
the file system. Note that btrfs will also need this eventually when
it starts using iomap
- helpers to split ioend to the zone append queue_limits that plug
into the previous item above.
- a new ANON_WRITE flags for writes that don't have a block number
assigned to them at the iomap level, leaving the file system to do
that work in the submission handler. Note that btrfs wants something
similar also for compressed I/O, which should be able to reuse this,
maybe with minor tweaks.
- passing private data to a few more helper
The XFS changes to use this will be posted to the xfs list only to not
spam fsdevel too much.
* patches from https://lore.kernel.org/r/20250206064035.2323428-2-hch@lst.de:
iomap: pass private data to iomap_truncate_page
iomap: pass private data to iomap_zero_range
iomap: pass private data to iomap_page_mkwrite
iomap: add a io_private field to struct iomap_ioend
iomap: optionally use ioends for direct I/O
iomap: factor out a iomap_dio_done helper
iomap: move common ioend code to ioend.c
iomap: split bios to zone append limits in the submission handlers
iomap: add a IOMAP_F_ANON_WRITE flag
iomap: simplify io_flags and io_type in struct iomap_ioend
iomap: allow the file system to submit the writeback bios
Link: https://lore.kernel.org/r/20250206064035.2323428-2-hch@lst.de
Signed-off-by: Christian Brauner <brauner@kernel.org>13 files changed
Lines changed: 446 additions & 231 deletions
File tree
- Documentation/filesystems/iomap
- fs
- gfs2
- iomap
- xfs
- zonefs
- include/linux
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
246 | 246 | | |
247 | 247 | | |
248 | 248 | | |
| 249 | + | |
| 250 | + | |
| 251 | + | |
| 252 | + | |
249 | 253 | | |
250 | 254 | | |
251 | 255 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
283 | 283 | | |
284 | 284 | | |
285 | 285 | | |
286 | | - | |
| 286 | + | |
287 | 287 | | |
288 | 288 | | |
289 | 289 | | |
| |||
306 | 306 | | |
307 | 307 | | |
308 | 308 | | |
309 | | - | |
310 | | - | |
311 | | - | |
| 309 | + | |
| 310 | + | |
312 | 311 | | |
313 | 312 | | |
314 | 313 | | |
315 | | - | |
| 314 | + | |
316 | 315 | | |
317 | 316 | | |
318 | 317 | | |
| |||
341 | 340 | | |
342 | 341 | | |
343 | 342 | | |
344 | | - | |
| 343 | + | |
345 | 344 | | |
346 | 345 | | |
347 | 346 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1300 | 1300 | | |
1301 | 1301 | | |
1302 | 1302 | | |
1303 | | - | |
| 1303 | + | |
| 1304 | + | |
1304 | 1305 | | |
1305 | 1306 | | |
1306 | 1307 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
12 | 12 | | |
13 | 13 | | |
14 | 14 | | |
| 15 | + | |
15 | 16 | | |
16 | 17 | | |
17 | 18 | | |
0 commit comments