On 2014-11-17 at 11:18, Markus Armbruster wrote:
PATCH 1 is just a comment fix. PATCH 2 drops FIEMAP use and explains
why it needs to go. PATCH 3 carefully rewrites the SEEK_HOLE code.
Why 2.2? The series fixes bugs, but the bugs are either not terribly
severe, or not particularly likely to bite. The reason I want it
included is we've already changed the code fundamentally in 2.2, from
Incorrect use of FIEMAP if available, else somewhat incorrect use
of SEEK_HOLE if available, else pretend no holes
to
Somewhat incorrect use of SEEK_HOLE if available, else correct but
slow-as-molasses use of FIEMAP if available, else pretend no holes
Let's finish the job:
Correct use of SEEK_HOLE if available, else pretend no holes
Less complex, more robust, and no half-broken intermediate version
released.
v3:
* PATCH 1&2 unchanged, except for a commit message typo [Eric]
* PATCH 3&4 redone as PATCH 3, very carefully [Eric, Kevin]
v2:
* PATCH 1 unchanged
* PATCH 2 revised and split up [Paolo, Fam, Eric, Max]
Markus Armbruster (3):
raw-posix: Fix comment for raw_co_get_block_status()
raw-posix: SEEK_HOLE suffices, get rid of FIEMAP
raw-posix: The SEEK_HOLE code is flawed, rewrite it
block/raw-posix.c | 167 ++++++++++++++++++++++++++++--------------------------
1 file changed, 86 insertions(+), 81 deletions(-)
Thanks, applied to my block tree with the hunk removing skip_fiemap
squashed into patch 2:
https://github.com/XanClic/qemu/commits/block