[PATCH v2 0/3] mtd: Add sysfs entries and account BBT blocks properly

Ezequiel Garcia ezequiel.garcia at free-electrons.com
Wed May 21 15:06:10 PDT 2014

Here's a new round of the patchset to add sysfs entries for the ECC stats
struct fields. See the discussion around previous version for context:


Changes from v1:

  * As agreed I've added a sysfs file per field to replace the ecc_stats
    sysfs file. The current proposal follows the "one file per value" sysfs
    rule, adding the following device attributes:
    - corrected_bits (ecc_stats.corrected)
    - uncorrectable_errors (ecc_stats.failed)
    - bad_blocks (ecc_stats.badblocks)
    - bbt_blocks (ecc_stats.bbtblocks)

  * Following Brian's request, added small wrapper nand_block_isreserved()
    that checks if the NAND has a bad block table before querying the number
    of reserved blocks.

  * Finally, this new series drops patch: "nand: Account the blocks used by
    the BBT in the ecc_stats". It's not yet clear how to best deal with the
    current inconsistencies in MTD master and partition handling.

The first patch adds the sysfs entries. The rest of the patches fixes the
bbtblock accounting and allows to keep track of the reserved blocks correctly.

This is a very old issue, probably around since the dawn of time,
and nobody seemed to care much about it. However, with the introduction of
the sysfs access, it's easier to access this stats and easier to
see the issue.

Ezequiel Garcia (3):
  mtd: Add sysfs attributes to expose the ECC stats fields
  mtd: Introduce mtd_block_isreserved()
  mtd: Account for BBT blocks when a partition is being allocated

 drivers/mtd/mtdcore.c        | 60 ++++++++++++++++++++++++++++++++++++++++++--
 drivers/mtd/mtdpart.c        | 13 +++++++++-
 drivers/mtd/nand/nand_base.c | 18 +++++++++++++
 drivers/mtd/nand/nand_bbt.c  | 14 +++++++++++
 include/linux/mtd/mtd.h      |  2 ++
 include/linux/mtd/nand.h     |  1 +
 6 files changed, 105 insertions(+), 3 deletions(-)


More information about the linux-mtd mailing list