From: Darrick J. Wong Date: Wed, 27 Aug 2014 03:32:05 +0000 (-0400) Subject: contrib: add script to help resync journal code with kernel X-Git-Tag: v1.43-WIP-2015-05-18~214 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=389931ca1f02b5b6676a90345c8a624d6497cf80;p=thirdparty%2Fe2fsprogs.git contrib: add script to help resync journal code with kernel Add a script that handles (most) of the code massaging necessary to resync {recovery,revoke}.c from the Linux kernel into e2fsprogs. Usage: jbd2-resync.sh linux/fs/jbd2/revoke.c e2fsprogs/e2fsck/revoke.c Signed-off-by: Darrick J. Wong Signed-off-by: Theodore Ts'o --- diff --git a/contrib/jbd2-resync.sh b/contrib/jbd2-resync.sh new file mode 100755 index 000000000..4133b6323 --- /dev/null +++ b/contrib/jbd2-resync.sh @@ -0,0 +1,19 @@ +#!/bin/bash + +if [ -z "$1" -o -z "$2" ]; then + echo "Usage: $0 kernel-file e2fsprogs-file" + exit 0 +fi + +# Transform a few things to fit the compatibility things defined in jfs_user.h. +# Use the ext2fs_ endian conversion functions because they truncate oversized +# inputs (e.g. passing a u32 to cpu_to_be16()) like the kernel versions and +# unlike the libc6 versions. +exec sed -e 's/JBD_/JFS_/g' \ + -e 's/JBD2_/JFS_/g' \ + -e 's/jbd2_journal_/journal_/g' \ + -e 's/__be/__u/g' \ + -e 's/struct kmem_cache/lkmem_cache_t/g' \ + -e 's/cpu_to_be/ext2fs_cpu_to_be/g' \ + -e 's/be\([0-9][0-9]\)_to_cpu/ext2fs_be\1_to_cpu/g' \ + < "$1" > "$2"