#3465 closed task (fixed)

Integrate all changes from Linux v3.11 to v4.17 made in the JFFS2 sources

Reported by: Sebastian Huber Owned by: Sebastian Huber
Priority: normal Milestone: 5.1
Component: fs/jffs2 Version: 5
Severity: normal Keywords:
Cc: Blocked By:


The original import version of the JFFS2 sources was Linux v3.11 (September 2013). Update the JFFS2 sources to Linux v4.17.

The Git command to generate the patches is:

git format-patch v3.11..v4.17 -- include/uapi/linux/jffs2.h fs/jffs2/LICENCE fs/jffs2/acl.h fs/jffs2/build.c fs/jffs2/compr.c fs/jffs2/compr.h fs/jffs2/compr_rtime.c fs/jffs2/compr_rubin.c fs/jffs2/compr_zlib.c fs/jffs2/debug.c fs/jffs2/debug.h fs/jffs2/erase.c fs/jffs2/gc.c fs/jffs2/jffs2_fs_i.h fs/jffs2/jffs2_fs_sb.h fs/jffs2/nodelist.c fs/jffs2/nodelist.h fs/jffs2/nodemgmt.c fs/jffs2/read.c fs/jffs2/readinode.c fs/jffs2/scan.c fs/jffs2/summary.h fs/jffs2/write.c fs/jffs2/xattr.h

We need a source file transformation in the patches:

sed -i 's%/fs/jffs2%/cpukit/libfs/src/jffs2/src%g' 00*

To support the first commit:

From e8bbeeb755a077cfc0f814b07739f9225642d65c Mon Sep 17 00:00:00 2001
From: Cody P Schafer <cody@linux.vnet.ibm.com>
Date: Thu, 23 Jan 2014 15:56:11 -0800
Subject: [PATCH 01/24] fs/jffs2: use rbtree postorder iteration helper instead
 of opencoding

Use rbtree_postorder_for_each_entry_safe() to destroy the rbtree instead
of opencoding an alternate postorder iteration that modifies the tree

Signed-off-by: Cody P Schafer <cody@linux.vnet.ibm.com>
Cc: Michel Lespinasse <walken@google.com>
Cc: Jan Kara <jack@suse.cz>
Cc: David Woodhouse <dwmw2@infradead.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

we have to a postorder iterator to the red-black tree support code.

The remaining 23 patches are easy to apply.

Change History (7)

comment:1 Changed on 07/16/18 at 05:54:17 by Sebastian Huber <sebastian.huber@…>

In 6539bea/rtems:

score: Add postorder tree iteration support

Update #3465.

comment:2 Changed on 07/16/18 at 05:58:13 by Sebastian Huber <sebastian.huber@…>

In 877aeab/rtems:

linux: Install <linux/rbtree.h>

This makes it possible to test this API.

Update #3465.

comment:3 Changed on 07/16/18 at 06:02:08 by Sebastian Huber <sebastian.huber@…>

In 0cb4257/rtems:

linux: Simplify <linux/rbtree.h>

Remove the placeholder struct rb_node and use RBTree_Node directly via
some C pre-processor defines to adjust the member names.

Update #3465.

comment:4 Changed on 07/16/18 at 06:06:03 by Sebastian Huber <sebastian.huber@…>

In 22d9575/rtems:

linux: Add rbtree_postorder_for_each_entry_safe()

Update #3465.

comment:5 Changed on 07/16/18 at 06:51:28 by Sebastian Huber <sebastian.huber@…>

Resolution: fixed
Status: assignedclosed

In 00a19d6/rtems:

jffs2: Add README

Add README to document the corrspending Linux version and the update

Close #3465.

comment:6 Changed on 07/19/18 at 05:12:49 by Sebastian Huber <sebastian.huber@…>

In b4f15d8/rtems:

jffs2: Rename README to VERSION

This makes it easer to find files describing an upstream version, e.g.
via "find -name VERSION".

Update #3465.

comment:7 Changed on 10/08/18 at 05:16:02 by Sebastian Huber <sebastian.huber@…>

In 4a7c6867/rtems:

Fix rbtree_postorder_for_each_entry_safe()

Use the non-standard typeof operator to avoid code generation errors
with clang and use of uninitialized variable warnings with GCC and
Coverity Scan.

Update #3465.

Note: See TracTickets for help on using tickets.