€•­OŒsphinx.addnodes”Œdocument”“”)”}”(Œ rawsource”Œ”Œchildren”]”(Œ translations”Œ LanguagesNode”“”)”}”(hhh]”(hŒ pending_xref”“”)”}”(hhh]”Œdocutils.nodes”ŒText”“”ŒChinese (Simplified)”…””}”Œparent”hsbaŒ attributes”}”(Œids”]”Œclasses”]”Œnames”]”Œdupnames”]”Œbackrefs”]”Œ refdomain”Œstd”Œreftype”Œdoc”Œ reftarget”Œ1/translations/zh_CN/admin-guide/device-mapper/era”Œmodname”NŒ classname”NŒ refexplicit”ˆuŒtagname”hhh ubh)”}”(hhh]”hŒChinese (Traditional)”…””}”hh2sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ1/translations/zh_TW/admin-guide/device-mapper/era”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒItalian”…””}”hhFsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ1/translations/it_IT/admin-guide/device-mapper/era”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒJapanese”…””}”hhZsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ1/translations/ja_JP/admin-guide/device-mapper/era”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒKorean”…””}”hhnsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ1/translations/ko_KR/admin-guide/device-mapper/era”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒPortuguese (Brazilian)”…””}”hh‚sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ1/translations/pt_BR/admin-guide/device-mapper/era”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒSpanish”…””}”hh–sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ1/translations/sp_SP/admin-guide/device-mapper/era”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubeh}”(h]”h ]”h"]”h$]”h&]”Œcurrent_language”ŒEnglish”uh1h hhŒ _document”hŒsource”NŒline”NubhŒsection”“”)”}”(hhh]”(hŒtitle”“”)”}”(hŒdm-era”h]”hŒdm-era”…””}”(hh¼h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhh·h²hh³ŒK/var/lib/git/docbuild/linux/Documentation/admin-guide/device-mapper/era.rst”h´Kubh¶)”}”(hhh]”(h»)”}”(hŒ Introduction”h]”hŒ Introduction”…””}”(hhÎh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhhËh²hh³hÊh´KubhŒ paragraph”“”)”}”(hXdm-era is a target that behaves similar to the linear target. In addition it keeps track of which blocks were written within a user defined period of time called an 'era'. Each era target instance maintains the current era as a monotonically increasing 32-bit counter.”h]”hXdm-era is a target that behaves similar to the linear target. In addition it keeps track of which blocks were written within a user defined period of time called an ‘era’. Each era target instance maintains the current era as a monotonically increasing 32-bit counter.”…””}”(hhÞh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´KhhËh²hubhÝ)”}”(hŒ²Use cases include tracking changed blocks for backup software, and partially invalidating the contents of a cache to restore cache coherency after rolling back a vendor snapshot.”h]”hŒ²Use cases include tracking changed blocks for backup software, and partially invalidating the contents of a cache to restore cache coherency after rolling back a vendor snapshot.”…””}”(hhìh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´KhhËh²hubeh}”(h]”Œ introduction”ah ]”h"]”Œ introduction”ah$]”h&]”uh1hµhh·h²hh³hÊh´Kubh¶)”}”(hhh]”(h»)”}”(hŒ Constructor”h]”hŒ Constructor”…””}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhjh²hh³hÊh´KubhÝ)”}”(hŒ,era ”h]”hŒ,era ”…””}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´Khjh²hubhŒ block_quote”“”)”}”(hXw================ ====================================================== metadata dev fast device holding the persistent metadata origin dev device holding data blocks that may change block size block size of origin data device, granularity that is tracked by the target ================ ====================================================== ”h]”hŒtable”“”)”}”(hhh]”hŒtgroup”“”)”}”(hhh]”(hŒcolspec”“”)”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œcolwidth”Kuh1j1hj.ubj2)”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œcolwidth”K6uh1j1hj.ubhŒtbody”“”)”}”(hhh]”(hŒrow”“”)”}”(hhh]”(hŒentry”“”)”}”(hhh]”hÝ)”}”(hŒ metadata dev”h]”hŒ metadata dev”…””}”(hjVh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´KhjSubah}”(h]”h ]”h"]”h$]”h&]”uh1jQhjNubjR)”}”(hhh]”hÝ)”}”(hŒ+fast device holding the persistent metadata”h]”hŒ+fast device holding the persistent metadata”…””}”(hjmh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´Khjjubah}”(h]”h ]”h"]”h$]”h&]”uh1jQhjNubeh}”(h]”h ]”h"]”h$]”h&]”uh1jLhjIubjM)”}”(hhh]”(jR)”}”(hhh]”hÝ)”}”(hŒ origin dev”h]”hŒ origin dev”…””}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´KhjŠubah}”(h]”h ]”h"]”h$]”h&]”uh1jQhj‡ubjR)”}”(hhh]”hÝ)”}”(hŒ*device holding data blocks that may change”h]”hŒ*device holding data blocks that may change”…””}”(hj¤h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´Khj¡ubah}”(h]”h ]”h"]”h$]”h&]”uh1jQhj‡ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jLhjIubjM)”}”(hhh]”(jR)”}”(hhh]”hÝ)”}”(hŒ block size”h]”hŒ block size”…””}”(hjÄh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´KhjÁubah}”(h]”h ]”h"]”h$]”h&]”uh1jQhj¾ubjR)”}”(hhh]”hÝ)”}”(hŒKblock size of origin data device, granularity that is tracked by the target”h]”hŒKblock size of origin data device, granularity that is tracked by the target”…””}”(hjÛh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´KhjØubah}”(h]”h ]”h"]”h$]”h&]”uh1jQhj¾ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jLhjIubeh}”(h]”h ]”h"]”h$]”h&]”uh1jGhj.ubeh}”(h]”h ]”h"]”h$]”h&]”Œcols”Kuh1j,hj)ubah}”(h]”h ]”h"]”h$]”h&]”uh1j'hj#ubah}”(h]”h ]”h"]”h$]”h&]”uh1j!h³hÊh´Khjh²hubeh}”(h]”Œ constructor”ah ]”h"]”Œ constructor”ah$]”h&]”uh1hµhh·h²hh³hÊh´Kubh¶)”}”(hhh]”(h»)”}”(hŒMessages”h]”hŒMessages”…””}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhjh²hh³hÊh´KubhÝ)”}”(hŒ+None of the dm messages take any arguments.”h]”hŒ+None of the dm messages take any arguments.”…””}”(hj'h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´K!hjh²hubh¶)”}”(hhh]”(h»)”}”(hŒ checkpoint”h]”hŒ checkpoint”…””}”(hj8h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhj5h²hh³hÊh´K$ubhÝ)”}”(hŒPossibly move to a new era. You shouldn't assume the era has incremented. After sending this message, you should check the current era via the status line.”h]”hŒŸPossibly move to a new era. You shouldn’t assume the era has incremented. After sending this message, you should check the current era via the status line.”…””}”(hjFh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´K&hj5h²hubeh}”(h]”Œ checkpoint”ah ]”h"]”Œ checkpoint”ah$]”h&]”uh1hµhjh²hh³hÊh´K$ubh¶)”}”(hhh]”(h»)”}”(hŒtake_metadata_snap”h]”hŒtake_metadata_snap”…””}”(hj_h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhj\h²hh³hÊh´K+ubhÝ)”}”(hŒGCreate a clone of the metadata, to allow a userland process to read it.”h]”hŒGCreate a clone of the metadata, to allow a userland process to read it.”…””}”(hjmh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´K-hj\h²hubeh}”(h]”Œtake-metadata-snap”ah ]”h"]”Œtake_metadata_snap”ah$]”h&]”uh1hµhjh²hh³hÊh´K+ubh¶)”}”(hhh]”(h»)”}”(hŒdrop_metadata_snap”h]”hŒdrop_metadata_snap”…””}”(hj†h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhjƒh²hh³hÊh´K0ubhÝ)”}”(hŒDrop the metadata snapshot.”h]”hŒDrop the metadata snapshot.”…””}”(hj”h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´K2hjƒh²hubeh}”(h]”Œdrop-metadata-snap”ah ]”h"]”Œdrop_metadata_snap”ah$]”h&]”uh1hµhjh²hh³hÊh´K0ubeh}”(h]”Œmessages”ah ]”h"]”Œmessages”ah$]”h&]”uh1hµhh·h²hh³hÊh´Kubh¶)”}”(hhh]”(h»)”}”(hŒStatus”h]”hŒStatus”…””}”(hjµh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhj²h²hh³hÊh´K5ubhÝ)”}”(hŒo <#used metadata blocks>/<#total metadata blocks> ”h]”hŒs <#used metadata blocks>/<#total metadata blocks> ”…””}”(hjÃh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´K7hj²h²hubj()”}”(hhh]”j-)”}”(hhh]”(j2)”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œcolwidth”Kuh1j1hjÔubj2)”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œcolwidth”K.uh1j1hjÔubjH)”}”(hhh]”(jM)”}”(hhh]”(jR)”}”(hhh]”hÝ)”}”(hŒmetadata block size”h]”hŒmetadata block size”…””}”(hjôh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´K;hjñubah}”(h]”h ]”h"]”h$]”h&]”uh1jQhjîubjR)”}”(hhh]”hÝ)”}”(hŒ3Fixed block size for each metadata block in sectors”h]”hŒ3Fixed block size for each metadata block in sectors”…””}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´K;hjubah}”(h]”h ]”h"]”h$]”h&]”uh1jQhjîubeh}”(h]”h ]”h"]”h$]”h&]”uh1jLhjëubjM)”}”(hhh]”(jR)”}”(hhh]”hÝ)”}”(hŒ#used metadata blocks”h]”hŒ#used metadata blocks”…””}”(hj+h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´K=hj(ubah}”(h]”h ]”h"]”h$]”h&]”uh1jQhj%ubjR)”}”(hhh]”hÝ)”}”(hŒNumber of metadata blocks used”h]”hŒNumber of metadata blocks used”…””}”(hjBh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´K=hj?ubah}”(h]”h ]”h"]”h$]”h&]”uh1jQhj%ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jLhjëubjM)”}”(hhh]”(jR)”}”(hhh]”hÝ)”}”(hŒ#total metadata blocks”h]”hŒ#total metadata blocks”…””}”(hjbh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´K>hj_ubah}”(h]”h ]”h"]”h$]”h&]”uh1jQhj\ubjR)”}”(hhh]”hÝ)”}”(hŒTotal number of metadata blocks”h]”hŒTotal number of metadata blocks”…””}”(hjyh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´K>hjvubah}”(h]”h ]”h"]”h$]”h&]”uh1jQhj\ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jLhjëubjM)”}”(hhh]”(jR)”}”(hhh]”hÝ)”}”(hŒ current era”h]”hŒ current era”…””}”(hj™h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´K?hj–ubah}”(h]”h ]”h"]”h$]”h&]”uh1jQhj“ubjR)”}”(hhh]”hÝ)”}”(hŒThe current era”h]”hŒThe current era”…””}”(hj°h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´K?hj­ubah}”(h]”h ]”h"]”h$]”h&]”uh1jQhj“ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jLhjëubjM)”}”(hhh]”(jR)”}”(hhh]”hÝ)”}”(hŒheld metadata root”h]”hŒheld metadata root”…””}”(hjÐh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´K@hjÍubah}”(h]”h ]”h"]”h$]”h&]”uh1jQhjÊubjR)”}”(hhh]”hÝ)”}”(hŒThe location, in blocks, of the metadata root that has been 'held' for userspace read access. '-' indicates there is no held root”h]”hŒ‰The location, in blocks, of the metadata root that has been ‘held’ for userspace read access. ‘-’ indicates there is no held root”…””}”(hjçh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´K@hjäubah}”(h]”h ]”h"]”h$]”h&]”uh1jQhjÊubeh}”(h]”h ]”h"]”h$]”h&]”uh1jLhjëubeh}”(h]”h ]”h"]”h$]”h&]”uh1jGhjÔubeh}”(h]”h ]”h"]”h$]”h&]”Œcols”Kuh1j,hjÑubah}”(h]”h ]”h"]”h$]”h&]”uh1j'hj²h²hh³hÊh´Nubeh}”(h]”Œstatus”ah ]”h"]”Œstatus”ah$]”h&]”uh1hµhh·h²hh³hÊh´K5ubh¶)”}”(hhh]”(h»)”}”(hŒDetailed use case”h]”hŒDetailed use case”…””}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhjh²hh³hÊh´KFubhÝ)”}”(hŒ~The scenario of invalidating a cache when rolling back a vendor snapshot was the primary use case when developing this target:”h]”hŒ~The scenario of invalidating a cache when rolling back a vendor snapshot was the primary use case when developing this target:”…””}”(hj-h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´KHhjh²hubh¶)”}”(hhh]”(h»)”}”(hŒTaking a vendor snapshot”h]”hŒTaking a vendor snapshot”…””}”(hj>h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhj;h²hh³hÊh´KLubhŒ bullet_list”“”)”}”(hhh]”(hŒ list_item”“”)”}”(hŒ+Send a checkpoint message to the era target”h]”hÝ)”}”(hjUh]”hŒ+Send a checkpoint message to the era target”…””}”(hjWh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´KNhjSubah}”(h]”h ]”h"]”h$]”h&]”uh1jQhjNh²hh³hÊh´NubjR)”}”(hŒ1Make a note of the current era in its status line”h]”hÝ)”}”(hjlh]”hŒ1Make a note of the current era in its status line”…””}”(hjnh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´KOhjjubah}”(h]”h ]”h"]”h$]”h&]”uh1jQhjNh²hh³hÊh´NubjR)”}”(hŒNTake vendor snapshot (the era and snapshot should be forever associated now). ”h]”hÝ)”}”(hŒMTake vendor snapshot (the era and snapshot should be forever associated now).”h]”hŒMTake vendor snapshot (the era and snapshot should be forever associated now).”…””}”(hj…h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´KPhjubah}”(h]”h ]”h"]”h$]”h&]”uh1jQhjNh²hh³hÊh´Nubeh}”(h]”h ]”h"]”h$]”h&]”Œbullet”Œ-”uh1jLh³hÊh´KNhj;h²hubeh}”(h]”Œtaking-a-vendor-snapshot”ah ]”h"]”Œtaking a vendor snapshot”ah$]”h&]”uh1hµhjh²hh³hÊh´KLubh¶)”}”(hhh]”(h»)”}”(hŒ"Rolling back to an vendor snapshot”h]”hŒ"Rolling back to an vendor snapshot”…””}”(hj¬h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhj©h²hh³hÊh´KTubjM)”}”(hhh]”(jR)”}”(hŒACache enters passthrough mode (see: dm-cache's docs in cache.txt)”h]”hÝ)”}”(hj¿h]”hŒCCache enters passthrough mode (see: dm-cache’s docs in cache.txt)”…””}”(hjÁh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´KVhj½ubah}”(h]”h ]”h"]”h$]”h&]”uh1jQhjºh²hh³hÊh´NubjR)”}”(hŒRollback vendor storage”h]”hÝ)”}”(hjÖh]”hŒRollback vendor storage”…””}”(hjØh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´KWhjÔubah}”(h]”h ]”h"]”h$]”h&]”uh1jQhjºh²hh³hÊh´NubjR)”}”(hŒTake metadata snapshot”h]”hÝ)”}”(hjíh]”hŒTake metadata snapshot”…””}”(hjïh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´KXhjëubah}”(h]”h ]”h"]”h$]”h&]”uh1jQhjºh²hh³hÊh´NubjR)”}”(hŒbAscertain which blocks have been written since the snapshot was taken by checking each block's era”h]”hÝ)”}”(hŒbAscertain which blocks have been written since the snapshot was taken by checking each block's era”h]”hŒdAscertain which blocks have been written since the snapshot was taken by checking each block’s era”…””}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´KYhjubah}”(h]”h ]”h"]”h$]”h&]”uh1jQhjºh²hh³hÊh´NubjR)”}”(hŒ/Invalidate those blocks in the caching software”h]”hÝ)”}”(hjh]”hŒ/Invalidate those blocks in the caching software”…””}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´K[hjubah}”(h]”h ]”h"]”h$]”h&]”uh1jQhjºh²hh³hÊh´NubjR)”}”(hŒ-Cache returns to writeback/writethrough mode ”h]”hÝ)”}”(hŒ,Cache returns to writeback/writethrough mode”h]”hŒ,Cache returns to writeback/writethrough mode”…””}”(hj5h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´K\hj1ubah}”(h]”h ]”h"]”h$]”h&]”uh1jQhjºh²hh³hÊh´Nubeh}”(h]”h ]”h"]”h$]”h&]”jŸj uh1jLh³hÊh´KVhj©h²hubeh}”(h]”Œ"rolling-back-to-an-vendor-snapshot”ah ]”h"]”Œ"rolling back to an vendor snapshot”ah$]”h&]”uh1hµhjh²hh³hÊh´KTubeh}”(h]”Œdetailed-use-case”ah ]”h"]”Œdetailed use case”ah$]”h&]”uh1hµhh·h²hh³hÊh´KFubh¶)”}”(hhh]”(h»)”}”(hŒ Memory usage”h]”hŒ Memory usage”…””}”(hjbh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhj_h²hh³hÊh´K_ubhÝ)”}”(hŒÁThe target uses a bitset to record writes in the current era. It also has a spare bitset ready for switching over to a new era. Other than that it uses a few 4k blocks for updating metadata::”h]”hŒÀThe target uses a bitset to record writes in the current era. It also has a spare bitset ready for switching over to a new era. Other than that it uses a few 4k blocks for updating metadata:”…””}”(hjph²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´Kahj_h²hubhŒ literal_block”“”)”}”(hŒ(4 * nr_blocks) bytes + buffers”h]”hŒ(4 * nr_blocks) bytes + buffers”…””}”hj€sbah}”(h]”h ]”h"]”h$]”h&]”Œ xml:space”Œpreserve”uh1j~h³hÊh´Kehj_h²hubeh}”(h]”Œ memory-usage”ah ]”h"]”Œ memory usage”ah$]”h&]”uh1hµhh·h²hh³hÊh´K_ubh¶)”}”(hhh]”(h»)”}”(hŒ Resilience”h]”hŒ Resilience”…””}”(hj›h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhj˜h²hh³hÊh´KhubhÝ)”}”(hŒ¦Metadata is updated on disk before a write to a previously unwritten block is performed. As such dm-era should not be effected by a hard crash such as power failure.”h]”hŒ¦Metadata is updated on disk before a write to a previously unwritten block is performed. As such dm-era should not be effected by a hard crash such as power failure.”…””}”(hj©h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´Kjhj˜h²hubeh}”(h]”Œ resilience”ah ]”h"]”Œ resilience”ah$]”h&]”uh1hµhh·h²hh³hÊh´Khubh¶)”}”(hhh]”(h»)”}”(hŒUserland tools”h]”hŒUserland tools”…””}”(hjÂh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhj¿h²hh³hÊh´KoubhÝ)”}”(hŒZUserland tools are found in the increasingly poorly named thin-provisioning-tools project:”h]”hŒZUserland tools are found in the increasingly poorly named thin-provisioning-tools project:”…””}”(hjÐh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´Kqhj¿h²hubj")”}”(hŒ4https://github.com/jthornber/thin-provisioning-tools”h]”hÝ)”}”(hjàh]”hŒ reference”“”)”}”(hjàh]”hŒ4https://github.com/jthornber/thin-provisioning-tools”…””}”(hjçh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”Œrefuri”jàuh1jåhjâubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´KthjÞubah}”(h]”h ]”h"]”h$]”h&]”uh1j!h³hÊh´Kthj¿h²hubeh}”(h]”Œuserland-tools”ah ]”h"]”Œuserland tools”ah$]”h&]”uh1hµhh·h²hh³hÊh´Koubeh}”(h]”Œdm-era”ah ]”h"]”Œdm-era”ah$]”h&]”uh1hµhhh²hh³hÊh´Kubeh}”(h]”h ]”h"]”h$]”h&]”Œsource”hÊuh1hŒcurrent_source”NŒ current_line”NŒsettings”Œdocutils.frontend”ŒValues”“”)”}”(hºNŒ generator”NŒ datestamp”NŒ source_link”NŒ source_url”NŒ toc_backlinks”jQŒfootnote_backlinks”KŒ sectnum_xform”KŒstrip_comments”NŒstrip_elements_with_classes”NŒ strip_classes”NŒ report_level”KŒ halt_level”KŒexit_status_level”KŒdebug”NŒwarning_stream”NŒ traceback”ˆŒinput_encoding”Œ utf-8-sig”Œinput_encoding_error_handler”Œstrict”Œoutput_encoding”Œutf-8”Œoutput_encoding_error_handler”j3Œerror_encoding”Œutf-8”Œerror_encoding_error_handler”Œbackslashreplace”Œ language_code”Œen”Œrecord_dependencies”NŒconfig”NŒ id_prefix”hŒauto_id_prefix”Œid”Œ dump_settings”NŒdump_internals”NŒdump_transforms”NŒdump_pseudo_xml”NŒexpose_internals”NŒstrict_visitor”NŒ_disable_config”NŒ_source”hÊŒ _destination”NŒ _config_files”]”Œ7/var/lib/git/docbuild/linux/Documentation/docutils.conf”aŒfile_insertion_enabled”ˆŒ raw_enabled”KŒline_length_limit”M'Œpep_references”NŒ pep_base_url”Œhttps://peps.python.org/”Œpep_file_url_template”Œpep-%04d”Œrfc_references”NŒ rfc_base_url”Œ&https://datatracker.ietf.org/doc/html/”Œ tab_width”KŒtrim_footnote_reference_space”‰Œsyntax_highlight”Œlong”Œ smart_quotes”ˆŒsmartquotes_locales”]”Œcharacter_level_inline_markup”‰Œdoctitle_xform”‰Œ docinfo_xform”KŒsectsubtitle_xform”‰Œ image_loading”Œlink”Œembed_stylesheet”‰Œcloak_email_addresses”ˆŒsection_self_link”‰Œenv”NubŒreporter”NŒindirect_targets”]”Œsubstitution_defs”}”Œsubstitution_names”}”Œrefnames”}”Œrefids”}”Œnameids”}”(jj hÿhüjjj¯j¬jYjVj€j}j§j¤jjj\jYj¦j£jTjQj•j’j¼j¹jjuŒ nametypes”}”(j‰hÿ‰j‰j¯‰jY‰j€‰j§‰j‰j\‰j¦‰jT‰j•‰j¼‰j‰uh}”(j h·hühËjjj¬jjVj5j}j\j¤jƒjj²jYjj£j;jQj©j’j_j¹j˜jj¿uŒ footnote_refs”}”Œ citation_refs”}”Œ autofootnotes”]”Œautofootnote_refs”]”Œsymbol_footnotes”]”Œsymbol_footnote_refs”]”Œ footnotes”]”Œ citations”]”Œautofootnote_start”KŒsymbol_footnote_start”KŒ id_counter”Œ collections”ŒCounter”“”}”…”R”Œparse_messages”]”Œtransform_messages”]”Œ transformer”NŒ include_log”]”Œ decoration”Nh²hub.