public inbox for linux-mtd@lists.infradead.org
 help / color / mirror / Atom feed
From: "Artem B. Bityuckiy" <dedekind@yandex.ru>
To: David Woodhouse <dwmw2@infradead.org>
Cc: zhao_fusheng@hotmail.com, linux-mtd@lists.infradead.org
Subject: JFFS2 eraseblock header
Date: Tue, 16 Aug 2005 12:22:49 +0400	[thread overview]
Message-ID: <4301A259.3090304@yandex.ru> (raw)
In-Reply-To: <43009AE1.6010907@yandex.ru>

Ok, here is my *rough* offer about the JFFS2 eraseblock header.

What for?
~~~~~~~~~

a). Zhao Fusheng (aka Forrest) wants to implement fairer wear-levelling 
in JFFS2. For this reason he needs to store the 'erasecount' for each 
flash eraseblock.

b). The recent review of Ferenc Havasi's patch (aka the summary patch) 
showed a JFFS2 inconsistency in how it calculates the physical 
eraseblock to virtual eraseblock ratio. We want to fix this, probably by 
switching to constant 1:1 mapping. Because of this, for compatibility, 
we need to introduce JFFS2 versioning. Since there is no superblock in 
JFFS2, we may add the version number to the eraseblock header as well.

Versioning support will anyway be useful in future.

How to implement?
~~~~~~~~~~~~~~~~~

1. Get rid of clean marker and use eraseblock header instead (the 
eraseblock header will play the role of cleanmarker).
2. The length of the eraseblock header will not be constant, it may grow 
with growing version.
3. As it is implemented currently, store the eraseblock header at the 
beginning of the eraseblock, in OOB for NAND.
4. For NAND, we assume the eraseblock header may span several OOBs, not 
only the first page's.

What's with compatibility?
~~~~~~~~~~~~~~~~~~~~~~~~~~

1. Old JFFS2 binaries have to reject mounting new JFFS2 images (for 
example, because we are going to change the phys:virt mapping to 
constant 1:1, which is anyway incompatible). This is the problem in NAND 
since the compatibility bits are not checked in clean marker (see 
jffs2_check_nand_cleanmarker()). We may solve this problem by, for 
example, changing types of dirent/inode nodes and adding INCOMPAT flag 
there (yes, this is ugly workaround).

2. New JFFS2, when mounting an old JFFS2 binary, will use old algorithms 
(1:M mappings, clean markers).

3. If JFFS2 finds that the version of the image is larger, it will 
reject mounting the image. This will be useful in future.

Comments?

-- 
Best Regards,
Artem B. Bityuckiy,
St.-Petersburg, Russia.

  parent reply	other threads:[~2005-08-16  8:23 UTC|newest]

Thread overview: 83+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-07-21  7:22 [PATCH]fs/jffs2/wbuf.c: add compatibility support for OOB data block 赵 豆豆
2005-07-22 11:02 ` Artem B. Bityuckiy
2005-07-22 11:59 ` Jörn Engel
2005-07-22 12:12   ` Artem B. Bityuckiy
2005-07-22 12:27     ` Jörn Engel
2005-07-26  7:36     ` Ferenc Havasi
2005-07-26  7:44       ` Jörn Engel
2005-07-26  7:57         ` Ferenc Havasi
2005-07-26  8:29           ` Steven Scholz
2005-07-26  9:36             ` Jörn Engel
2005-07-26 10:03               ` Ferenc Havasi
2005-07-26 10:12                 ` Artem B. Bityuckiy
2005-07-26 10:51                 ` Steven Scholz
2005-07-26 11:13                   ` Jörn Engel
2005-07-26 11:14                     ` Steven Scholz
2005-07-26 12:37                   ` Ferenc Havasi
2005-07-26  9:32           ` Jörn Engel
2005-07-26 10:03             ` Jörn Engel
2005-07-27 22:08               ` David Woodhouse
2005-07-28  9:01                 ` Jörn Engel
2005-08-01  9:50               ` Havasi Ferenc
2005-08-01  9:56                 ` Jörn Engel
2005-08-01 10:07                   ` Havasi Ferenc
2005-08-01 10:43                     ` Jörn Engel
2005-08-01 14:02                       ` Ferenc Havasi
2005-08-01 14:18                         ` Jörn Engel
2005-08-11 15:03                           ` Ferenc Havasi
2005-08-11 15:47                             ` Artem B. Bityuckiy
2005-08-11 16:59                               ` Ferenc Havasi
2005-08-11 16:06                                 ` Artem B. Bityuckiy
2005-08-15 11:24                                   ` Ferenc Havasi
2005-08-15 12:23                                     ` Artem B. Bityuckiy
2005-08-15 17:10                                       ` Ferenc Havasi
2005-08-16 13:19                                         ` Artem B. Bityuckiy
2005-08-11 17:24                             ` Jörn Engel
2005-08-15  9:48                             ` Jörn Engel
2005-08-15 10:20                               ` Artem B. Bityuckiy
2005-08-15 11:42                                 ` Ferenc Havasi
2005-08-15 11:56                                   ` Jörn Engel
2005-08-15 11:07                               ` Artem B. Bityuckiy
2005-08-15 11:48                                 ` Ferenc Havasi
2005-08-15 11:59                                   ` Jörn Engel
2005-08-15 12:28                                     ` Ferenc Havasi
2005-08-15 12:38                                       ` Artem B. Bityuckiy
2005-08-15 12:52                                         ` Jörn Engel
2005-08-15 13:34                                           ` Ferenc Havasi
2005-08-15 13:42                                             ` Artem B. Bityuckiy
2005-08-15 13:48                                               ` Jörn Engel
2005-08-15 14:00                                                 ` Artem B. Bityuckiy
2005-08-15 14:05                                                   ` Jörn Engel
2005-08-15 14:19                                                     ` Artem B. Bityuckiy
2005-08-15 14:32                                                       ` Jörn Engel
2005-08-15 15:22                                                         ` Artem B. Bityuckiy
2005-08-16  7:16                                                           ` Artem B. Bityuckiy
2005-08-16  7:25                                                             ` Artem B. Bityuckiy
2005-08-16  9:47                                                               ` Jörn Engel
2005-08-16  9:56                                                                 ` Artem B. Bityuckiy
2005-08-15 13:43                                             ` Jörn Engel
2005-08-15 13:46                                               ` Artem B. Bityuckiy
2005-08-16 11:34                                             ` Artem B. Bityuckiy
2005-08-15 13:27                                         ` Ferenc Havasi
2005-08-15 13:40                                           ` Artem B. Bityuckiy
2005-08-15 13:45                                             ` Jörn Engel
2005-08-15 13:50                                               ` Artem B. Bityuckiy
2005-08-15 12:35                                   ` Artem B. Bityuckiy
2005-08-15 13:22                                     ` Ferenc Havasi
2005-08-15 13:38                                       ` Artem B. Bityuckiy
2005-08-15 13:51                                         ` Jörn Engel
2005-08-15 14:01                                           ` Artem B. Bityuckiy
2005-08-16  8:22                                         ` Artem B. Bityuckiy [this message]
2005-08-16  8:25                                           ` JFFS2 eraseblock header Artem B. Bityuckiy
2005-08-16  9:13                                           ` Ferenc Havasi
2005-08-16  9:25                                             ` Artem B. Bityuckiy
2005-09-08 13:32                                           ` David Woodhouse
2005-09-08 13:35                                             ` Artem B. Bityuckiy
2005-09-08 18:43                                               ` Jörn Engel
2005-09-09 12:57                                                 ` Josh Boyer
2005-09-09 13:08                                                   ` Artem B. Bityuckiy
2005-09-09 22:20                                                     ` Jörn Engel
2005-08-15 11:53                                 ` [PATCH]fs/jffs2/wbuf.c: add compatibility support for OOB data block Jörn Engel
2005-08-15 12:46                                   ` Artem B. Bityuckiy
2005-07-26  8:40       ` Jffs2 problem with Versatile PB926EJ-S Soma sundaram Veerappan
2005-07-26 16:17         ` Todd Poynor

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=4301A259.3090304@yandex.ru \
    --to=dedekind@yandex.ru \
    --cc=dwmw2@infradead.org \
    --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