summaryrefslogtreecommitdiff
path: root/contrib
diff options
context:
space:
mode:
authorDarrick J. Wong <darrick.wong@oracle.com>2014-08-26 23:32:05 -0400
committerTheodore Ts'o <tytso@mit.edu>2014-08-26 23:32:05 -0400
commit389931ca1f02b5b6676a90345c8a624d6497cf80 (patch)
tree045a9be2e9a1ae2a7bf7bb3473c546ec9c529de8 /contrib
parentc1c8800b71521959b0ea3e8e385ed9e01f902612 (diff)
downloade2fsprogs-389931ca1f02b5b6676a90345c8a624d6497cf80.tar.gz
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 <darrick.wong@oracle.com> Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Diffstat (limited to 'contrib')
-rwxr-xr-xcontrib/jbd2-resync.sh19
1 files changed, 19 insertions, 0 deletions
diff --git a/contrib/jbd2-resync.sh b/contrib/jbd2-resync.sh
new file mode 100755
index 00000000..4133b632
--- /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"