[PATCH 00/13] ubifs update

Alexander Stein alexander.stein at systec-electronic.com
Thu Mar 17 03:00:16 PDT 2016


Hi,

this patch set updates ubifs to the u-boot v2016.03 one. This most importantly
uses write buffer size (defined by flash itself) for recovering. This is done
(and required!) by Linux since commit 2765df7da ("UBIFS: use max_write_size
 during recovery") which is included in v2.6.39-rc1. Failing to do so results
in false error detection and mount failure.

Some comments on the patches itself. Most of them are to add defines or
functions required by new ubifs code. They all include more detailed
information.

Patch 1,2:
* Required to pass write buffer size to ubifs

Patch 9 ("ARM: Add atomic.h from u-boot v2016.03"):
* The most troublesome as it only adds support for arm. I've yet to find out
  if atomic_t is _really_ required in ubifs, but I'm not so far into that code
  to decide it. Maybe there are better possibilities to support all
  architectures.

The patches are based on current origin/master a0fa6e1d2b6ac5
("Merge branch 'for-next/squashfs'") including a single patch for our custom
hardware. They are compiled tested using git test-sequence. The final barebox
successfully mounts the damaged ubifs while the previous one doesn't.
I'm keen to get feedback.

Best regards,
Alexander

Alexander Stein (13):
  mtd: cfi-flash: Set MTD's writebufsize
  mtd: ubi: Set max_write_size to actual value read from flash
  rbtree: Update to u-boot v2016.03
  printk: Add printk_once
  Add list_sort from u-boot v2016.03
  printk: Add pr_cont
  compiler*.h: include/linux/compiler*.h with Linux 4.5
  module.h: Add THIS_MODULE
  ARM: Add atomic.h from u-boot v2016.03
  Move GFP_NOFS to barebox-wrapper
  barebox-wrapper: Implement kfree and vfree as static inline functions
  barebox-wrapper: Add kcalloc and __vmalloc
  ubifs: update implementation from u-boot v2016.03

 arch/arm/include/asm/atomic.h           |  111 ++
 arch/arm/include/asm/proc-armv/system.h |  224 +++
 drivers/mtd/nor/cfi_flash.c             |    1 +
 drivers/mtd/ubi/build.c                 |    2 +-
 drivers/mtd/ubi/ubi-barebox.h           |    2 -
 fs/ubifs/Makefile                       |    2 +-
 fs/ubifs/budget.c                       |  660 ++++++-
 fs/ubifs/debug.c                        | 3133 ++++++++++++++++++++++++++++++-
 fs/ubifs/debug.h                        |  577 +++---
 fs/ubifs/gc.c                           |  976 ++++++++++
 fs/ubifs/io.c                           |  929 ++++++++-
 fs/ubifs/key.h                          |   68 +-
 fs/ubifs/log.c                          |  671 ++++++-
 fs/ubifs/lprops.c                       |  537 +++++-
 fs/ubifs/lpt.c                          | 1275 ++++++++++++-
 fs/ubifs/lpt_commit.c                   | 1904 ++++++++++++++++++-
 fs/ubifs/master.c                       |  102 +-
 fs/ubifs/misc.h                         |  164 +-
 fs/ubifs/orphan.c                       |  672 ++++++-
 fs/ubifs/recovery.c                     |  755 +++++---
 fs/ubifs/replay.c                       |  603 +++---
 fs/ubifs/sb.c                           |  558 +++++-
 fs/ubifs/scan.c                         |  116 +-
 fs/ubifs/super.c                        | 2360 ++++++++++++++++++++---
 fs/ubifs/tnc.c                          |  756 +++++++-
 fs/ubifs/tnc_misc.c                     |  127 +-
 fs/ubifs/ubifs-media.h                  |   62 +-
 fs/ubifs/ubifs.c                        |  828 +++++++-
 fs/ubifs/ubifs.h                        |  966 ++++++++--
 include/asm-generic/atomic-long.h       |  260 +++
 include/linux/barebox-wrapper.h         |   16 +-
 include/linux/compiler-gcc.h            |   35 +-
 include/linux/compiler-intel.h          |    1 +
 include/linux/compiler.h                |  171 +-
 include/linux/fs.h                      |   21 +-
 include/linux/list_sort.h               |   11 +
 include/linux/rbtree.h                  |  155 +-
 include/linux/rbtree_augmented.h        |  220 +++
 include/module.h                        |    1 +
 include/printk.h                        |   11 +
 lib/Makefile                            |    1 +
 lib/list_sort.c                         |  296 +++
 lib/rbtree.c                            |  695 ++++---
 43 files changed, 18643 insertions(+), 2392 deletions(-)
 create mode 100644 arch/arm/include/asm/atomic.h
 create mode 100644 arch/arm/include/asm/proc-armv/system.h
 create mode 100644 fs/ubifs/gc.c
 create mode 100644 include/asm-generic/atomic-long.h
 create mode 100644 include/linux/list_sort.h
 create mode 100644 include/linux/rbtree_augmented.h
 create mode 100644 lib/list_sort.c

-- 
2.7.3




More information about the barebox mailing list