Hsphinx.addnodesdocument)}( rawsourcechildren]( translations LanguagesNode)}(hhh](h pending_xref)}(hhh]docutils.nodesTextChinese (Simplified)}parenthsba attributes}(ids]classes]names]dupnames]backrefs] refdomainstdreftypedoc reftarget7/translations/zh_CN/admin-guide/device-mapper/dm-flakeymodnameN classnameN refexplicitutagnamehhh ubh)}(hhh]hChinese (Traditional)}hh2sbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget7/translations/zh_TW/admin-guide/device-mapper/dm-flakeymodnameN classnameN refexplicituh1hhh ubh)}(hhh]hItalian}hhFsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget7/translations/it_IT/admin-guide/device-mapper/dm-flakeymodnameN classnameN refexplicituh1hhh ubh)}(hhh]hJapanese}hhZsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget7/translations/ja_JP/admin-guide/device-mapper/dm-flakeymodnameN classnameN refexplicituh1hhh ubh)}(hhh]hKorean}hhnsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget7/translations/ko_KR/admin-guide/device-mapper/dm-flakeymodnameN classnameN refexplicituh1hhh ubh)}(hhh]hSpanish}hhsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget7/translations/sp_SP/admin-guide/device-mapper/dm-flakeymodnameN classnameN refexplicituh1hhh ubeh}(h]h ]h"]h$]h&]current_languageEnglishuh1h hh _documenthsourceNlineNubhsection)}(hhh](htitle)}(h dm-flakeyh]h dm-flakey}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhhhQ/var/lib/git/docbuild/linux/Documentation/admin-guide/device-mapper/dm-flakey.rsthKubh paragraph)}(hThis target is the same as the linear target except that it exhibits unreliable behaviour periodically. It's been found useful in simulating failing devices for testing purposes.h]hThis target is the same as the linear target except that it exhibits unreliable behaviour periodically. It’s been found useful in simulating failing devices for testing purposes.}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhhhhubh)}(hStarting from the time the table is loaded, the device is available for seconds, then exhibits unreliable behaviour for seconds, and then this cycle repeats.h]hStarting from the time the table is loaded, the device is available for seconds, then exhibits unreliable behaviour for seconds, and then this cycle repeats.}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK hhhhubh)}(hAlso, consider using this in combination with the dm-delay target too, which can delay reads and writes and/or send them to different underlying devices.h]hAlso, consider using this in combination with the dm-delay target too, which can delay reads and writes and/or send them to different underlying devices.}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK hhhhubh)}(hhh](h)}(hTable parametersh]hTable parameters}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhhhhhKubh literal_block)}(h\ \ [ []]h]h\ \ [ []]}hhsbah}(h]h ]h"]h$]h&] xml:spacepreserveuh1hhhhKhhhhubh)}(hMandatory parameters:h]hMandatory parameters:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhhhhubh block_quote)}(hX : Full pathname to the underlying block-device, or a "major:minor" device-number. : Starting sector within the device. : Number of seconds device is available. : Number of seconds device returns errors. h]hdefinition_list)}(hhh](hdefinition_list_item)}(h[: Full pathname to the underlying block-device, or a "major:minor" device-number.h](hterm)}(h :h]h :}(hj'hhhNhNubah}(h]h ]h"]h$]h&]uh1j%hhhKhj!ubh definition)}(hhh]h)}(hOFull pathname to the underlying block-device, or a "major:minor" device-number.h]hSFull pathname to the underlying block-device, or a “major:minor” device-number.}(hj:hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj7ubah}(h]h ]h"]h$]h&]uh1j5hj!ubeh}(h]h ]h"]h$]h&]uh1jhhhKhjubj )}(h,: Starting sector within the device.h](j&)}(h :h]h :}(hjXhhhNhNubah}(h]h ]h"]h$]h&]uh1j%hhhKhjTubj6)}(hhh]h)}(h"Starting sector within the device.h]h"Starting sector within the device.}(hjihhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjfubah}(h]h ]h"]h$]h&]uh1j5hjTubeh}(h]h ]h"]h$]h&]uh1jhhhKhjubj )}(h5: Number of seconds device is available.h](j&)}(h:h]h:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j%hhhK hjubj6)}(hhh]h)}(h&Number of seconds device is available.h]h&Number of seconds device is available.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK!hjubah}(h]h ]h"]h$]h&]uh1j5hjubeh}(h]h ]h"]h$]h&]uh1jhhhK hjubj )}(h:: Number of seconds device returns errors. h](j&)}(h:h]h:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j%hhhK#hjubj6)}(hhh]h)}(h(Number of seconds device returns errors.h]h(Number of seconds device returns errors.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK#hjubah}(h]h ]h"]h$]h&]uh1j5hjubeh}(h]h ]h"]h$]h&]uh1jhhhK#hjubeh}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhhhKhhhhubh)}(hOptional feature parameters:h]hOptional feature parameters:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK%hhhhubj)}(hX{If no feature parameters are present, during the periods of unreliability, all I/O returns errors. error_reads: All read I/O is failed with an error signalled. Write I/O is handled correctly. drop_writes: All write I/O is silently ignored. Read I/O is handled correctly. error_writes: All write I/O is failed with an error signalled. Read I/O is handled correctly. corrupt_bio_byte : During , replace of the data of each matching bio with . : The offset of the byte to replace. Counting starts at 1, to replace the first byte. : Either 'r' to corrupt reads or 'w' to corrupt writes. 'w' is incompatible with drop_writes. : The value (from 0-255) to write. : Perform the replacement only if bio->bi_opf has all the selected flags set. random_read_corrupt During , replace random byte in a read bio with a random value. probability is an integer between 0 and 1000000000 meaning 0% to 100% probability of corruption. random_write_corrupt During , replace random byte in a write bio with a random value. probability is an integer between 0 and 1000000000 meaning 0% to 100% probability of corruption. h](h)}(hbIf no feature parameters are present, during the periods of unreliability, all I/O returns errors.h]hbIf no feature parameters are present, during the periods of unreliability, all I/O returns errors.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK'hjubj)}(hhh](j )}(h]error_reads: All read I/O is failed with an error signalled. Write I/O is handled correctly. h](j&)}(h error_reads:h]h error_reads:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j%hhhK,hjubj6)}(hhh]h)}(hOAll read I/O is failed with an error signalled. Write I/O is handled correctly.h]hOAll read I/O is failed with an error signalled. Write I/O is handled correctly.}(hj%hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK+hj"ubah}(h]h ]h"]h$]h&]uh1j5hjubeh}(h]h ]h"]h$]h&]uh1jhhhK,hj ubj )}(hOdrop_writes: All write I/O is silently ignored. Read I/O is handled correctly. h](j&)}(h drop_writes:h]h drop_writes:}(hjChhhNhNubah}(h]h ]h"]h$]h&]uh1j%hhhK0hj?ubj6)}(hhh]h)}(hAAll write I/O is silently ignored. Read I/O is handled correctly.h]hAAll write I/O is silently ignored. Read I/O is handled correctly.}(hjThhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK/hjQubah}(h]h ]h"]h$]h&]uh1j5hj?ubeh}(h]h ]h"]h$]h&]uh1jhhhK0hj ubj )}(h^error_writes: All write I/O is failed with an error signalled. Read I/O is handled correctly. h](j&)}(h error_writes:h]h error_writes:}(hjrhhhNhNubah}(h]h ]h"]h$]h&]uh1j%hhhK4hjnubj6)}(hhh]h)}(hOAll write I/O is failed with an error signalled. Read I/O is handled correctly.h]hOAll write I/O is failed with an error signalled. Read I/O is handled correctly.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK3hjubah}(h]h ]h"]h$]h&]uh1j5hjnubeh}(h]h ]h"]h$]h&]uh1jhhhK4hj ubj )}(hXcorrupt_bio_byte : During , replace of the data of each matching bio with . : The offset of the byte to replace. Counting starts at 1, to replace the first byte. : Either 'r' to corrupt reads or 'w' to corrupt writes. 'w' is incompatible with drop_writes. : The value (from 0-255) to write. : Perform the replacement only if bio->bi_opf has all the selected flags set. h](j&)}(h8corrupt_bio_byte :h]h8corrupt_bio_byte :}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j%hhhKDhjubj6)}(hhh](j)}(hZDuring , replace of the data of each matching bio with . h]h)}(hYDuring , replace of the data of each matching bio with .h]hYDuring , replace of the data of each matching bio with .}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK7hjubah}(h]h ]h"]h$]h&]uh1jhhhK7hjubj)}(hhh](j )}(h_: The offset of the byte to replace. Counting starts at 1, to replace the first byte.h](j&)}(h :h]h :}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j%hhhK;hjubj6)}(hhh]h)}(hSThe offset of the byte to replace. Counting starts at 1, to replace the first byte.h]hSThe offset of the byte to replace. Counting starts at 1, to replace the first byte.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK;hjubah}(h]h ]h"]h$]h&]uh1j5hjubeh}(h]h ]h"]h$]h&]uh1jhhhK;hjubj )}(hh: Either 'r' to corrupt reads or 'w' to corrupt writes. 'w' is incompatible with drop_writes.h](j&)}(h :h]h :}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j%hhhK>hjubj6)}(hhh]h)}(h[Either 'r' to corrupt reads or 'w' to corrupt writes. 'w' is incompatible with drop_writes.h]hgEither ‘r’ to corrupt reads or ‘w’ to corrupt writes. ‘w’ is incompatible with drop_writes.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK>hjubah}(h]h ]h"]h$]h&]uh1j5hjubeh}(h]h ]h"]h$]h&]uh1jhhhK>hjubj )}(h): The value (from 0-255) to write.h](j&)}(h:h]h:}(hj/hhhNhNubah}(h]h ]h"]h$]h&]uh1j%hhhK@hj+ubj6)}(hhh]h)}(h The value (from 0-255) to write.h]h The value (from 0-255) to write.}(hj@hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKAhj=ubah}(h]h ]h"]h$]h&]uh1j5hj+ubeh}(h]h ]h"]h$]h&]uh1jhhhK@hjubj )}(hU: Perform the replacement only if bio->bi_opf has all the selected flags set. h](j&)}(h:h]h:}(hj^hhhNhNubah}(h]h ]h"]h$]h&]uh1j%hhhKDhjZubj6)}(hhh]h)}(hKPerform the replacement only if bio->bi_opf has all the selected flags set.h]hKPerform the replacement only if bio->bi_opf has all the selected flags set.}(hjohhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKChjlubah}(h]h ]h"]h$]h&]uh1j5hjZubeh}(h]h ]h"]h$]h&]uh1jhhhKDhjubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1j5hjubeh}(h]h ]h"]h$]h&]uh1jhhhKDhj ubj )}(hrandom_read_corrupt During , replace random byte in a read bio with a random value. probability is an integer between 0 and 1000000000 meaning 0% to 100% probability of corruption. h](j&)}(h!random_read_corrupt h]h!random_read_corrupt }(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j%hhhKIhjubj6)}(hhh]h)}(hDuring , replace random byte in a read bio with a random value. probability is an integer between 0 and 1000000000 meaning 0% to 100% probability of corruption.h]hDuring , replace random byte in a read bio with a random value. probability is an integer between 0 and 1000000000 meaning 0% to 100% probability of corruption.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKGhjubah}(h]h ]h"]h$]h&]uh1j5hjubeh}(h]h ]h"]h$]h&]uh1jhhhKIhj ubj )}(hrandom_write_corrupt During , replace random byte in a write bio with a random value. probability is an integer between 0 and 1000000000 meaning 0% to 100% probability of corruption. h](j&)}(h"random_write_corrupt h]h"random_write_corrupt }(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j%hhhKNhjubj6)}(hhh]h)}(hDuring , replace random byte in a write bio with a random value. probability is an integer between 0 and 1000000000 meaning 0% to 100% probability of corruption.h]hDuring , replace random byte in a write bio with a random value. probability is an integer between 0 and 1000000000 meaning 0% to 100% probability of corruption.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKLhjubah}(h]h ]h"]h$]h&]uh1j5hjubeh}(h]h ]h"]h$]h&]uh1jhhhKNhj ubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhhhK'hhhhubh)}(h Examples:h]h Examples:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKPhhhhubh)}(h6Replaces the 32nd byte of READ bios with the value 1::h]h5Replaces the 32nd byte of READ bios with the value 1:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKRhhhhubh)}(hcorrupt_bio_byte 32 r 1 0h]hcorrupt_bio_byte 32 r 1 0}hj!sbah}(h]h ]h"]h$]h&]jjuh1hhhhKThhhhubh)}(hAReplaces the 224th byte of REQ_META (=32) bios with the value 0::h]h@Replaces the 224th byte of REQ_META (=32) bios with the value 0:}(hj/hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKVhhhhubh)}(hcorrupt_bio_byte 224 w 0 32h]hcorrupt_bio_byte 224 w 0 32}hj=sbah}(h]h ]h"]h$]h&]jjuh1hhhhKXhhhhubeh}(h]table-parametersah ]h"]table parametersah$]h&]uh1hhhhhhhhKubeh}(h] dm-flakeyah ]h"] dm-flakeyah$]h&]uh1hhhhhhhhKubeh}(h]h ]h"]h$]h&]sourcehuh1hcurrent_sourceN current_lineNsettingsdocutils.frontendValues)}(hN generatorN datestampN source_linkN source_urlN toc_backlinksentryfootnote_backlinksK sectnum_xformKstrip_commentsNstrip_elements_with_classesN strip_classesN report_levelK halt_levelKexit_status_levelKdebugNwarning_streamN tracebackinput_encoding utf-8-siginput_encoding_error_handlerstrictoutput_encodingutf-8output_encoding_error_handlerj~error_encodingutf-8error_encoding_error_handlerbackslashreplace language_codeenrecord_dependenciesNconfigN id_prefixhauto_id_prefixid dump_settingsNdump_internalsNdump_transformsNdump_pseudo_xmlNexpose_internalsNstrict_visitorN_disable_configN_sourceh _destinationN _config_files]7/var/lib/git/docbuild/linux/Documentation/docutils.confafile_insertion_enabled raw_enabledKline_length_limitM'pep_referencesN pep_base_urlhttps://peps.python.org/pep_file_url_templatepep-%04drfc_referencesN rfc_base_url&https://datatracker.ietf.org/doc/html/ tab_widthKtrim_footnote_reference_spacesyntax_highlightlong smart_quotessmartquotes_locales]character_level_inline_markupdoctitle_xform docinfo_xformKsectsubtitle_xform image_loadinglinkembed_stylesheetcloak_email_addressessection_self_linkenvNubreporterNindirect_targets]substitution_defs}substitution_names}refnames}refids}nameids}(jXjUjPjMu nametypes}(jXjPuh}(jUhjMhu footnote_refs} citation_refs} autofootnotes]autofootnote_refs]symbol_footnotes]symbol_footnote_refs] footnotes] citations]autofootnote_startKsymbol_footnote_startK id_counter collectionsCounter}Rparse_messages]transform_messages] transformerN include_log] decorationNhhub.