[PATCH 5/5] mtd-www: UBI: Add sections about UBI power-cut testing

David Oberhollenzer david.oberhollenzer at sigma-star.at
Mon Feb 13 13:31:18 PST 2017


Add remark about UBI power-cut testing and reference in
UBIFS section.

Signed-off-by: David Oberhollenzer <david.oberhollenzer at sigma-star.at>
---
 doc/ubi.xml   | 11 +++++++++++
 faq/ubi.xml   | 35 +++++++++++++++++++++++++++++++++++
 faq/ubifs.xml |  5 +++++
 3 files changed, 51 insertions(+)

diff --git a/doc/ubi.xml b/doc/ubi.xml
index 3192fbc..299b0f1 100644
--- a/doc/ubi.xml
+++ b/doc/ubi.xml
@@ -15,6 +15,7 @@
 <ol>
 	<li><a href="ubi.html#L_rednote">Big red note</a></li>
 	<li><a href="ubi.html#L_overview">Overview</a></li>
+	<li><a href="ubi.html#L_powercut">Power-cuts tolerance</a></li>
 	<li><a href="ubi.html#L_source">Source code</a></li>
 	<li><a href="ubi.html#L_ml">Mailing list</a></li>
 	<li><a href="ubi.html#L_usptools">User-space tools</a></li>
@@ -188,6 +189,16 @@ technology imposes.</p>
 
 
 
+<h2><a name="L_powercut">Power-cuts tolerance</a></h2>
+
+<p>Both UBI and UBIFS are designed with tolerance to power-cuts in mind.</p>
+
+<p>UBI has an internal debugging infrastructure that can emulate power
+failures for testing. The advantage of the emulation is that it emulates
+power failures at the critical points where control data structures are
+written to the device whereas the probability of interrupting the system at
+those precise moments with physical power cut testing is rather low.</p>
+
 <h2><a name="L_source">Source code</a></h2>
 
 <p>UBI is in the main-line Linux kernel starting from version
diff --git a/faq/ubi.xml b/faq/ubi.xml
index f8c40f6..fdd7abb 100644
--- a/faq/ubi.xml
+++ b/faq/ubi.xml
@@ -898,6 +898,41 @@ similar, just a bit simpler. Here is a similar table for UBI.</p>
 </tr>
 </table>
 
+<h3><a name="L_how_debug_recovery">Power-cut recovery testing</a></h3>
+
+<p>UBI suppors power-cut emulation for testing which emulates power-cuts after
+a random number of writes. When a power-cut is emulated, UBI switches to
+read-only mode and disallows any further write to the UBI volume, thus
+emulating a power cut. The main idea of this mode is to emulate power cuts in
+interesting places, e.g. when writing the vid header.</p>
+
+<p>Use the <code>tst_emulate_power_cut</code> debugfs file to set flags for
+when to enable power-cut emulation. Possible flags for power-cut testing
+can be seen in the table below.</p>
+
+<p>Use the files <code>tst_emulate_power_cut_min</code> and
+<code>tst_emulate_power_cut_max</code> to set the minimum and maximum number
+of successful writes, respectively, before a power-cut is emulated.</p>
+
+<p>Note that UBIFS has its own power-cut emulation functions. Please, refere
+to the corresponding
+<a href="ubifs.html#L_how_debug_recovery">Power-cut recovery testing</a>
+section.</p>
+
+<table border="2" cellpadding="4" cellspacing="0">
+<tr>
+	<td><b>Emulation type</b></td>
+	<td><b>Flag value</b></td>
+</tr>
+<tr>
+	<td>Allow power-cut to be emulated during EC header write</td>
+	<td>1</td>
+</tr>
+<tr>
+	<td>Allow power-cut to be emulated during VID header write</td>
+	<td>2</td>
+</tr>
+</table>
 
 <h2><a name="L_how_send_bugreport">How do I send an UBI bug report?</a></h2>
 
diff --git a/faq/ubifs.xml b/faq/ubifs.xml
index 2b724f3..e223ee4 100644
--- a/faq/ubifs.xml
+++ b/faq/ubifs.xml
@@ -1405,6 +1405,11 @@ the <code>ro_error</code> file.</p>
 repository) is aware of UBIFS power cut recovery testing mode and can be used
 for UBIFS power-cut testing.</p>
 
+<p>Note that UBI also supports power-cut emulation for UBI testing. Please,
+refere to the corresponding
+<a href="ubi.html#L_how_debug_recovery">Power-cut recovery testing</a>
+section.</p>
+
 
 <h2><a name="L_how_send_bugreport">How do I send an UBIFS bug report?</a></h2>
 
-- 
2.11.0




More information about the linux-mtd mailing list