aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Sterba <dsterba@suse.com>2024-03-25 23:29:01 +0100
committerDavid Sterba <dsterba@suse.com>2024-03-25 23:33:25 +0100
commit5cfa61d6e83c601bbdcc98bba84cf93c6df91b5e (patch)
tree0122453d2b86253d26159f1b99851a495653acb3
parent2c99d8078f005a2354341d167a93fa065a8bd70e (diff)
downloadbtrfs-progs-5cfa61d6e83c601bbdcc98bba84cf93c6df91b5e.tar.gz
btrfs-progs: docs: update memory related problems
Inspired by https://www.reddit.com/r/btrfs/comments/1bkdewb/btrfs_errors_in_dmesg/ . [ci skip] Signed-off-by: David Sterba <dsterba@suse.com>
-rw-r--r--Documentation/ch-hardware-considerations.rst15
1 files changed, 15 insertions, 0 deletions
diff --git a/Documentation/ch-hardware-considerations.rst b/Documentation/ch-hardware-considerations.rst
index 42e8ca68..50a9b987 100644
--- a/Documentation/ch-hardware-considerations.rst
+++ b/Documentation/ch-hardware-considerations.rst
@@ -118,9 +118,21 @@ have been demonstrated (*rowhammer*) achieving specific bits to be flipped.
While these were targeted, this shows that a series of reads or writes can
affect unrelated parts of memory.
+Block group profiles with redundancy (like RAID1) will not protect against
+memory errors as the blocks are first stored in memory before they are written
+to the devices from the same source.
+
+A filesystem mounted read-only will not affect the underlying block device in
+almost 100% (with highly unlikely exceptions). The exception is a tree-log that
+needs to be replayed during mount (and before the read-only mount takes place),
+working memory is needed for that and that can be affected by bit flips.
+There's a theoretical case where bit flip changes the filesystem status from
+read-only to read-write.
+
Further reading:
* https://en.wikipedia.org/wiki/Row_hammer
+* memory overclocking, XMP, potential risks
What to do:
@@ -129,6 +141,9 @@ What to do:
* memory errors may appear as filesystem going read-only due to "pre write"
check, that verify meta data before they get written but fail some basic
consistency checks
+* newly built systems should be tested before being put to production use,
+ ideally start a IO/CPU load that will be run on such system later; namely
+ systems that will utilize overclocking or special performance features
Direct memory access (DMA)
^^^^^^^^^^^^^^^^^^^^^^^^^^