From: "Jörn Engel" <joern@wohnheim.fh-wedel.de>
To: zhao forrest <zhao_fusheng@hotmail.com>
Cc: linux-mtd@lists.infradead.org
Subject: Re: [PATCH]Add JFFS2 eraseblock header support
Date: Tue, 20 Sep 2005 12:24:36 +0200 [thread overview]
Message-ID: <20050920102436.GC2143@wohnheim.fh-wedel.de> (raw)
In-Reply-To: <BAY17-F171945FE7F31D429CCE8BEE8950@phx.gbl>
On Tue, 20 September 2005 15:45:37 +0800, zhao forrest wrote:
>
> This is the patch for eraseblock header, the high-level design
> can be found at http://lists.infradead.org/pipermail/linux-mtd/
> 2005-August/013374.html.
>
> This patch closely follows the high-level design. Here I list
> some main implementation points:
> 1 eraseblock_header replaces clean marker, clean marker no
> longer exists.
> 2 now eraseblock header carrys version and erase count, but the
> length of eraseblock header is not constant and it allows further
> extention.
> 3 for NAND flash, the eraseblock header is stored in OOB and it
> may span several OOBs
> 4 old JFFS2 binaries reject mounting new JFFS2 images
Why this?
> 5 change the type of dirent/inode nodes and adding INCOMPAT flag
> there in order to make old JFFS2 binaries reject mounting new
> JFFS2 images for NAND flash
Why?
> 6 new JFFS2 binary, when mounting an old JFFS2 image, will reject
> mounting unless the old JFFS2 image doesn't use 1:N(N>1)mapping.
I wouldn't waste code on this.
> 7 If JFFS2 finds that the version of the image is larger, it will
> reject mounting the image
Really bad idea. Incompatible changes won't make users rejoice. Have
a look at ext2:
__le32 s_feature_compat; /* compatible feature set */
__le32 s_feature_incompat; /* incompatible feature set */
__le32 s_feature_ro_compat; /* readonly-compatible feature set */
The destinction between compatible, incompatible and ro-compatible
features is done for a reason. If a new feature is harmless to
ignore, like EXT2_FEATURE_COMPAT_DIR_PREALLOC, there is no reason not
to mount the filesystem. New feature is just a performance thing,
nothing more.
JFFS2 has the same for node types, you should know that. Rationale is
the same.
So if we need a version (which I was always against, as you may
remember), we should at least express it as three sets of features.
> 8 currently this patch doesn't take the "eraseblock summary" patch
> into account. It's greatly appreciated if Ferenc can help to add
> the missing part :)
He can't. It's against the rules of physics.
Jörn
--
People will accept your ideas much more readily if you tell them
that Benjamin Franklin said it first.
-- unknown
next prev parent reply other threads:[~2005-09-20 10:25 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-09-20 7:45 [PATCH]Add JFFS2 eraseblock header support zhao forrest
2005-09-20 10:24 ` Jörn Engel [this message]
2005-09-20 10:59 ` Artem B. Bityutskiy
2005-09-20 11:36 ` Jörn Engel
2005-09-20 11:56 ` Artem B. Bityutskiy
2005-09-20 12:27 ` Jörn Engel
2005-09-20 12:43 ` Jörn Engel
2005-09-21 2:57 ` zhao forrest
2005-09-21 7:10 ` Jörn Engel
2005-09-21 10:42 ` Ferenc Havasi
2005-09-21 2:16 ` zhao forrest
2005-09-20 11:29 ` Artem B. Bityutskiy
2005-09-21 2:22 ` zhao forrest
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=20050920102436.GC2143@wohnheim.fh-wedel.de \
--to=joern@wohnheim.fh-wedel.de \
--cc=linux-mtd@lists.infradead.org \
--cc=zhao_fusheng@hotmail.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox