Re: Verification without using headers

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I would also be open to discussing future plans for verification
features in fio in another thread (there are others I plan to add).
For example, perhaps you have plans for experimental_verify (I
understand the intent behind this feature - no logging for
verification).

On Mon, Jul 18, 2016 at 6:51 PM, Charlie Jacobsen
<charlie.jacobsen@xxxxxxxxx> wrote:
> Hello,
>
> I'm working on a new verification mode that allows for filling entire
> blocks with random data (no header is used). I would like some
> feedback as I plan to submit the patch and I don't want to encounter
> the same pitfalls you guys have likely encountered.
>
> With just a handful of simple changes, the new verification mode works
> in combination with verify_backlog, verify_only (as long as fio is
> seeded the same way), and io_size > size with norandommap=1 (blocks
> can be overwritten).
>
> The biggest challenge I still face is getting this working with
> blocksize ranges in combination with io_size > size and norandommap=1
> (blocks can be overwritten, with varying block sizes). I understand
> how this magically works when headers are used, but I won't have that
> luxury. I would also like to use blocksize_unaligned in combination
> with these other settings for full generality, which has limited
> support right now.
>
> Here is a sketch of my plan:
>
> -- I plan to improve the code inside log_io_piece that updates the log
> tree. When a write IO is inserted into the tree, prior log entries
> that overlap will be shrunk, or discarded if the new write fully
> overlaps.
>
> -- However, IOs are logged at submission time. If they fail, the
> shrunk or discarded log entries in the tree would need to be restored.
> This seems complicated. Instead, I think it makes more sense to move
> log entry creation to completion time.
>
> -- I understand a lot of effort went into moving all write IO logging
> to submission time (I've looked through some of the commits). Is there
> any reason why submission time was chosen, e.g. any hardware or
> low-level IO reasons? Any pitfalls or big disadvantages if IO logging
> is moved to completion time?
>
> -- I plan to leverage the numberio field in the struct io_u as a way
> to order write IOs at completion time. I will change the type of this
> field to a uint64_t so it doesn't wrap. Of course, this change will
> percolate into other parts of fio and make some data structures a bit
> bigger (e.g., the struct verify_header).
>
> What do you think?
>
> Thanks for you time.
>
> Charlie Jacobsen
> Primary Data
--
To unsubscribe from this list: send the line "unsubscribe fio" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Kernel]     [Linux SCSI]     [Linux IDE]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux SCSI]

  Powered by Linux