iomap: data corruption fixes and more
Get series with b4
b4 am [email protected]Versions newest first
- v1 Latest5 patches 10 repliesIn review
Patches in v1 No applies recorded yet
| # | Subject and files | Size | Replies | Applied |
|---|---|---|---|---|
| 1/5 | iomap: FUA is wrong for DIO O_DSYNC writes into unwritten extentsfs/ | +6 | 2 replies | |
| 2/5 | iomap: sub-block dio needs to zeroout beyond EOFfs/ | +8 | 1 reply | |
| 3/5 | iomap: dio data corruption and spurious errors when pipes fillfs/ | +19 | 0 replies | |
| 4/5 | splice: increase pipe size in splice_direct_to_actor()fs/ fs/ include/ | +10 | 2 replies | |
| 5/5 | vfs: vfs_dedupe_file_range() doesn't return EOPNOTSUPPfs/ | +7 | 1 reply |
Reviews trailers per patch
All 5 patches have a Reviewed-by or Acked-by of their own; the series has one for all of them.
| Patch | Christoph Hellwig | Darrick J. Wong |
|---|---|---|
| Series | R-b | R-b |
| 1/5 | R-b | R-b |
| 2/5 | R-b | R-b |
| 3/5 | R-b | R-b |
| 4/5 | R-b | |
| 5/5 | R-b | R-b |
Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.
Cover letter [PATCH 0/5] iomap: data corruption fixes and more
Hi folks,
Since clone/dedupe/copy_file_range support was added to fsx, I've found several data corruptions and issues with these functions. The patchset addresses some of the issues I've found, including a problem with the FUA optimisation that I found by inspection when looking at this code.
Several of the problems stem from do_splice_direct() and how it behaves on files opened O_DIRECT. I'm pretty sure this has never been tested on XFS because it just doesn't work and has stale data exposure problems. And it's so slow it's not funny because it can only shuffle 16 pages at a time through the splice pipe, which means synchronous 64k IO for large data movement. do_splice_direct() is a horrible data copying primitive.
The first 3 patches are data integrity/corruption fixes for the iomap code, patch 4 increases the do_splice_direct() pipe size to the maximum allowed without privilege to improve performance, and the last patch fixes an error reporting inconsistency between dedeupe and the documented errors in the man page.
Cheers,
Dave.