From: Pavel Machek <pavel@suse.cz>
To: kernel list <linux-kernel@vger.kernel.org>,
Andrew Morton <akpm@osdl.org>,
tytso@mit.edu, mtk.manpages@gmail.com, rdunlap@xenotime.net,
linux-doc@vger.kernel.org
Subject: document ext3 requirements
Date: Sat, 3 Jan 2009 13:38:15 +0100 [thread overview]
Message-ID: <20090103123813.GA1512@ucw.cz> (raw)
Using ext3 is only safe if storage subsystem meets certain
criteria. Document those.
Errors=remount-ro is documented as default, but superblock setting
overrides that and mkfs defaults to errors=continue... so the default
is errors=continue in practice.
readonly mount does actually write to the media in some cases. Document that.
Signed-off-by: Pavel Machek <pavel@suse.cz>
diff --git a/Documentation/filesystems/ext3.txt b/Documentation/filesystems/ext3.txt
index 9dd2a3b..74a73b0 100644
--- a/Documentation/filesystems/ext3.txt
+++ b/Documentation/filesystems/ext3.txt
@@ -14,6 +14,9 @@ Options
When mounting an ext3 filesystem, the following option are accepted:
(*) == default
+ro Note that ext3 will replay the journal (and thus write
+ to the partition) even when mounted "read only".
+
journal=update Update the ext3 file system's journal to the current
format.
@@ -95,6 +98,8 @@ debug Extra debugging information is sent to syslog.
errors=remount-ro(*) Remount the filesystem read-only on an error.
errors=continue Keep going on a filesystem error.
errors=panic Panic and halt the machine if an error occurs.
+ (Note that default is overriden by superblock
+ setting on most systems).
data_err=ignore(*) Just print an error message if an error occurs
in a file data buffer in ordered mode.
@@ -188,6 +193,34 @@ mke2fs: create a ext3 partition with the -j flag.
debugfs: ext2 and ext3 file system debugger.
ext2online: online (mounted) ext2 and ext3 filesystem resizer
+Requirements
+============
+
+Ext3 expects disk/storage subsystem to behave sanely. On sanely
+behaving disk subsystem, data that have been successfully synced will
+stay on the disk. Sane means:
+
+* writes to media never fail. Even if disk returns error condition during
+ write, ext3 can't handle that correctly, because success on fsync was already
+ returned when data hit the journal.
+
+ (Fortunately writes failing are very uncommon on disks, as they
+ have spare sectors they use when write fails.)
+
+* either whole sector is correctly written or nothing is written during
+ powerfail.
+
+ (Unfortuantely, none of the cheap USB/SD flash cards I seen do behave
+ like this, and are unsuitable for ext3. Because RAM tends to fail
+ faster than rest of system during powerfail, special hw killing
+ DMA transfers may be neccessary. Not sure how common that problem
+ is on generic PC machines).
+
+* either write caching is disabled, or hw can do barriers and they are enabled.
+
+ (Note that barriers are disabled by default, use "barrier=1"
+ mount option after making sure hw can support them).
+
References
==========
--
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
next reply other threads:[~2009-01-03 20:11 UTC|newest]
Thread overview: 95+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-01-03 12:38 Pavel Machek [this message]
2009-01-03 21:17 ` document ext3 requirements Martin MOKREJŠ
2009-01-03 22:06 ` Pavel Machek
2009-01-03 22:17 ` Duane Griffin
2009-01-03 22:29 ` Pavel Machek
2009-01-03 23:01 ` Martin MOKREJŠ
2009-01-03 23:38 ` Duane Griffin
2009-01-03 23:50 ` Martin MOKREJŠ
2009-01-03 23:58 ` Robert Hancock
2009-01-04 0:08 ` Martin MOKREJŠ
2009-01-04 21:49 ` Ingo Oeser
2009-01-04 0:00 ` Duane Griffin
2009-01-04 0:11 ` Martin MOKREJŠ
2009-01-04 0:41 ` Duane Griffin
2009-01-04 3:52 ` Valdis.Kletnieks
2009-01-04 14:24 ` Duane Griffin
2009-01-04 18:40 ` Theodore Tso
2009-01-04 19:21 ` Geert Uytterhoeven
2009-01-04 19:36 ` Theodore Tso
2009-01-04 19:51 ` Duane Griffin
2009-01-04 21:55 ` Theodore Tso
2009-01-04 22:06 ` Duane Griffin
2009-01-04 22:42 ` Bron Gondwana
2009-01-05 3:22 ` Rob Landley
2009-01-04 0:19 ` Pavel Machek
2009-01-05 2:55 ` Rob Landley
2009-01-04 19:56 ` Rob Landley
2009-01-05 19:16 ` Theodore Tso
2009-01-06 19:20 ` Rob Landley
2009-01-06 10:08 ` Matthias Andree
2009-01-06 15:23 ` Theodore Tso
2009-01-03 23:12 ` Duane Griffin
2009-01-06 10:06 ` Matthias Andree
2009-01-04 2:32 ` Theodore Tso
2009-01-04 22:33 ` Pavel Machek
2009-01-04 22:34 ` [patch] document ext3 a bit better Pavel Machek
2009-01-05 14:57 ` Theodore Tso
2009-01-06 9:21 ` Pavel Machek
2009-01-09 23:24 ` Jiri Kosina
2009-01-09 23:36 ` Randy Dunlap
2009-01-09 23:47 ` Jiri Kosina
2009-01-04 13:35 ` document ext3 requirements Alexander E. Patrakov
2009-01-04 13:53 ` Valdis.Kletnieks
2009-01-04 18:21 ` Michael Tokarev
2009-01-04 18:38 ` Theodore Tso
2009-01-04 22:37 ` Pavel Machek
2009-01-04 23:58 ` Theodore Tso
2009-01-05 11:43 ` Alan Cox
2009-01-07 11:59 ` Rob Landley
2009-01-04 20:10 ` Pavel Machek
2009-01-04 19:49 ` Rob Landley
2009-01-04 22:06 ` Theodore Tso
2009-01-04 22:25 ` Pavel Machek
2009-01-04 23:00 ` [patch] " Pavel Machek
2009-01-05 2:42 ` Rob Landley
2009-01-05 9:54 ` Pavel Machek
2009-01-04 23:07 ` Pavel Machek
2009-01-05 1:38 ` Rob Landley
2009-01-04 22:55 ` Pavel Machek
2009-01-05 0:16 ` david
2009-01-05 9:38 ` Pavel Machek
2009-01-05 1:50 ` Rob Landley
2009-01-05 3:20 ` Martin K. Petersen
2009-01-05 9:45 ` Pavel Machek
2009-01-05 11:28 ` Alan Cox
2009-01-05 19:15 ` Martin K. Petersen
2009-01-05 20:19 ` Theodore Tso
[not found] <fa.pmCH9X+XujDl6RH6/TpkNtsTnbk@ifi.uio.no>
[not found] ` <fa.b62zZFe5e154PhgA+0sdwVXD9F0@ifi.uio.no>
[not found] ` <fa.ZTpiSvxEhp3YJDepiUQs+cU0C98@ifi.uio.no>
[not found] ` <fa.xvvufQC6zTpU9R6vhDl51DR5V7A@ifi.uio.no>
[not found] ` <fa.pkV69eXC76Pb9fnmERdAwXX9OKA@ifi.uio.no>
[not found] ` <fa.hQTLXdIllf+hs4yQb092u6fowq0@ifi.uio.no>
2009-01-04 19:08 ` Sitsofe Wheeler
2009-01-04 19:31 ` Theodore Tso
2009-01-04 22:40 ` Pavel Machek
2009-01-04 23:30 ` Theodore Tso
2009-01-05 3:49 ` Rob Landley
2009-01-05 4:31 ` Robert Hancock
2009-01-05 5:00 ` david
2009-01-05 11:19 ` Alan Cox
2009-01-05 19:00 ` Rob Landley
2009-01-05 19:27 ` Martin K. Petersen
2009-01-06 10:41 ` Matthias Andree
2009-01-06 15:30 ` Theodore Tso
[not found] ` <20090106153020.GB13086__11022.1833143898$1231255950$gmane$org@mit.edu>
2009-01-06 15:40 ` Andi Kleen
2009-01-06 15:57 ` Theodore Tso
2009-01-06 17:31 ` Andi Kleen
2009-01-06 19:31 ` Rob Landley
2009-01-27 13:24 ` Thierry Vignaud
2009-01-27 13:37 ` Alan Cox
2009-01-06 10:36 ` Matthias Andree
[not found] <fa.P4z5CJpM0xT37PWJuOuCHDkO76o@ifi.uio.no>
[not found] ` <fa.eOwOqydZi0qs6K1nmNxBFGQMV40@ifi.uio.no>
[not found] ` <fa.26o5IHCAC3TQdXupl62CLYwQ+Wk@ifi.uio.no>
2009-01-04 23:13 ` Sitsofe Wheeler
2009-01-05 2:51 ` Rob Landley
2009-01-05 3:33 ` Martin K. Petersen
2009-01-05 4:02 ` david
2009-01-05 3:52 ` Rob Landley
[not found] ` <fa.GBkQuKdRj+YRVczlNLFhGvaw3WY@ifi.uio.no>
[not found] ` <fa.rCyCghh/+staAmYi/+gwYvefIS0@ifi.uio.no>
[not found] ` <fa.c5j7jAMUnJPvgI9Oj/VczSDNakE@ifi.uio.no>
[not found] ` <fa.377DMq2lPMyaHxadPnApFSJFoCg@ifi.uio.no>
2009-01-05 20:36 ` Sitsofe Wheeler
2009-01-05 23:09 ` Theodore Tso
[not found] ` <fa.ucJLoSQwk9OAj6T6x60tbWaiTAo@ifi.uio.no>
2009-01-05 22:25 ` Sitsofe Wheeler
2009-01-06 4:08 ` Rob Landley
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20090103123813.GA1512@ucw.cz \
--to=pavel@suse.cz \
--cc=akpm@osdl.org \
--cc=linux-doc@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mtk.manpages@gmail.com \
--cc=rdunlap@xenotime.net \
--cc=tytso@mit.edu \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.