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

Ezequiel Garcia ezequiel.garcia at free-electrons.com
Tue Jun 24 06:55:49 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:

http://lists.infradead.org/pipermail/linux-mtd/2014-March/052804.html

Changes from v2:

  * As suggested by Pekon Gupta, use "ecc_failures" instead of
    "uncorrectable_errors".

  * Added documentation for the new sysfs ABI as requested by Greg KH.

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

 Documentation/ABI/testing/sysfs-class-mtd | 38 ++++++++++++++++++++
 drivers/mtd/mtdcore.c                     | 59 +++++++++++++++++++++++++++++--
 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 +
 7 files changed, 142 insertions(+), 3 deletions(-)

-- 
1.9.1




More information about the linux-mtd mailing list