lib: move jfs_user.h into libsupport
PATCH v2 1/7 lib: move jfs_user.h into libsupport
From: Alexey Lyashkov <[email protected]>
The jfs_user.h header used in both debugfs and e2fsck, so lib/support is better place for it.
Move a header into new place and rename to jbd2_user.h to avoid confusion with JFS filesystem files.
--- debugfs/Makefile.in | 16 +++++++--------- debugfs/debugfs.c | 2 +- debugfs/journal.h | 2 +- debugfs/logdump.c | 2 +- e2fsck/Makefile.in | 8 ++++---- e2fsck/journal.c | 2 +- e2fsck/recovery.c | 2 +- e2fsck/revoke.c | 2 +- e2fsck/unix.c | 2 +- lib/ext2fs/Makefile.in | 18 ++++++++---------- e2fsck/jfs_user.h => lib/support/jbd2_user.h | 0 misc/Makefile.in | 12 +++++------- 12 files changed, 31 insertions(+), 37 deletions(-) rename e2fsck/jfs_user.h => lib/support/jbd2_user.h (100%)
debugfs/Makefile.in +7 -9
@@ -47,9 +47,7 @@ STATIC_DEPLIBS= $(STATIC_LIBEXT2FS) $(DEPSTATIC_LIBSS) \ $(DEPSTATIC_LIBCOM_ERR) $(DEPSTATIC_LIBUUID) \ $(DEPSTATIC_LIBE2P) -# This nastiness is needed because of jfs_user.h hackery; when we finally -# clean up this mess, we should be able to drop it -LOCAL_CFLAGS = -I$(srcdir)/../e2fsck -DDEBUGFS +LOCAL_CFLAGS = -DDEBUGFS DEPEND_CFLAGS = -I$(srcdir) .c.o:
@@ -186,7 +184,7 @@ debugfs.o: $(srcdir)/debugfs.c $(top_builddir)/lib/config.h \ $(top_srcdir)/lib/e2p/e2p.h $(top_srcdir)/lib/support/quotaio.h \ $(top_srcdir)/lib/support/dqblk_v2.h \ $(top_srcdir)/lib/support/quotaio_tree.h $(top_srcdir)/version.h \ - $(srcdir)/../e2fsck/jfs_user.h $(top_srcdir)/lib/ext2fs/kernel-jbd.h \ + $(top_srcdir)/lib/support/jbd2_user.h $(top_srcdir)/lib/ext2fs/kernel-jbd.h \ $(top_srcdir)/lib/ext2fs/jfs_compat.h $(top_srcdir)/lib/ext2fs/kernel-list.h \ $(top_srcdir)/lib/ext2fs/compiler.h $(top_srcdir)/lib/support/plausible.h util.o: $(srcdir)/util.c $(top_builddir)/lib/config.h \
@@ -277,7 +275,7 @@ logdump.o: $(srcdir)/logdump.c $(top_builddir)/lib/config.h \ $(top_srcdir)/lib/ext2fs/bitops.h $(srcdir)/../misc/create_inode.h \ $(top_srcdir)/lib/e2p/e2p.h $(top_srcdir)/lib/support/quotaio.h \ $(top_srcdir)/lib/support/dqblk_v2.h \ - $(top_srcdir)/lib/support/quotaio_tree.h $(srcdir)/../e2fsck/jfs_user.h \ + $(top_srcdir)/lib/support/quotaio_tree.h $(top_srcdir)/lib/support/jbd2_user.h \ $(top_srcdir)/lib/ext2fs/kernel-jbd.h $(top_srcdir)/lib/ext2fs/jfs_compat.h \ $(top_srcdir)/lib/ext2fs/kernel-list.h $(top_srcdir)/lib/ext2fs/compiler.h \ $(top_srcdir)/lib/ext2fs/fast_commit.h
@@ -382,7 +380,7 @@ quota.o: $(srcdir)/quota.c $(top_builddir)/lib/config.h \ $(top_srcdir)/lib/support/quotaio_tree.h journal.o: $(srcdir)/journal.c $(top_builddir)/lib/config.h \ $(top_builddir)/lib/dirpaths.h $(srcdir)/journal.h \ - $(srcdir)/../e2fsck/jfs_user.h $(top_srcdir)/lib/ext2fs/ext2_fs.h \ + $(top_srcdir)/lib/support/jbd2_user.h $(top_srcdir)/lib/ext2fs/ext2_fs.h \ $(top_builddir)/lib/ext2fs/ext2_types.h $(top_srcdir)/lib/ext2fs/ext2fs.h \ $(top_srcdir)/lib/ext2fs/ext3_extents.h $(top_srcdir)/lib/et/com_err.h \ $(top_srcdir)/lib/ext2fs/ext2_io.h $(top_builddir)/lib/ext2fs/ext2_err.h \
@@ -390,7 +388,7 @@ journal.o: $(srcdir)/journal.c $(top_builddir)/lib/config.h \ $(top_srcdir)/lib/ext2fs/bitops.h $(top_srcdir)/lib/ext2fs/kernel-jbd.h \ $(top_srcdir)/lib/ext2fs/jfs_compat.h $(top_srcdir)/lib/ext2fs/kernel-list.h \ $(top_srcdir)/lib/ext2fs/compiler.h -revoke.o: $(srcdir)/../e2fsck/revoke.c $(srcdir)/../e2fsck/jfs_user.h \ +revoke.o: $(srcdir)/../e2fsck/revoke.c $(top_srcdir)/lib/support/jbd2_user.h \ $(top_builddir)/lib/config.h $(top_builddir)/lib/dirpaths.h \ $(top_srcdir)/lib/ext2fs/ext2_fs.h $(top_builddir)/lib/ext2fs/ext2_types.h \ $(top_srcdir)/lib/ext2fs/ext2fs.h $(top_srcdir)/lib/ext2fs/ext3_extents.h \
@@ -400,7 +398,7 @@ revoke.o: $(srcdir)/../e2fsck/revoke.c $(srcdir)/../e2fsck/jfs_user.h \ $(top_srcdir)/lib/ext2fs/bitops.h $(top_srcdir)/lib/ext2fs/kernel-jbd.h \ $(top_srcdir)/lib/ext2fs/jfs_compat.h $(top_srcdir)/lib/ext2fs/kernel-list.h \ $(top_srcdir)/lib/ext2fs/compiler.h -recovery.o: $(srcdir)/../e2fsck/recovery.c $(srcdir)/../e2fsck/jfs_user.h \ +recovery.o: $(srcdir)/../e2fsck/recovery.c $(top_srcdir)/lib/support/jbd2_user.h \ $(top_builddir)/lib/config.h $(top_builddir)/lib/dirpaths.h \ $(top_srcdir)/lib/ext2fs/ext2_fs.h $(top_builddir)/lib/ext2fs/ext2_types.h \ $(top_srcdir)/lib/ext2fs/ext2fs.h $(top_srcdir)/lib/ext2fs/ext3_extents.h \
@@ -423,4 +421,4 @@ do_journal.o: $(srcdir)/do_journal.c $(top_builddir)/lib/config.h \ $(top_srcdir)/lib/support/quotaio_tree.h \ $(top_srcdir)/lib/ext2fs/kernel-jbd.h $(top_srcdir)/lib/ext2fs/jfs_compat.h \ $(top_srcdir)/lib/ext2fs/kernel-list.h $(top_srcdir)/lib/ext2fs/compiler.h \ - $(srcdir)/journal.h $(srcdir)/../e2fsck/jfs_user.h + $(srcdir)/journal.h $(top_srcdir)/lib/support/jbd2_user.h
debugfs/debugfs.c +1 -1
@@ -37,7 +37,7 @@ extern char *optarg;#include <ext2fs/ext2_ext_attr.h> #include "../version.h" -#include "jfs_user.h" +#include "support/jbd2_user.h" #include "support/plausible.h" #ifndef BUFSIZ
debugfs/journal.h +1 -1
@@ -12,7 +12,7 @@* any later version. */ -#include "jfs_user.h" +#include "support/jbd2_user.h" /* journal.c */ errcode_t ext2fs_open_journal (ext2_filsys fs,journal_t **j);
debugfs/logdump.c +1 -1
@@ -32,7 +32,7 @@ extern char *optarg;#include "debugfs.h" #include "blkid/blkid.h" -#include "jfs_user.h" +#include "support/jbd2_user.h" #if __GNUC_PREREQ (4 ,6 )#pragma GCC diagnostic push#pragma GCC diagnostic ignored "-Wunused-function"
e2fsck/Makefile.in +4 -4
@@ -383,7 +383,7 @@ pass5.o: $(srcdir)/pass5.c $(top_builddir)/lib/config.h \ $(top_srcdir)/lib/ext2fs/kernel-list.h $(top_srcdir)/lib/ext2fs/compiler.h \ $(srcdir)/problem.h journal.o: $(srcdir)/journal.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(srcdir)/jfs_user.h $(srcdir)/e2fsck.h \ + $(top_builddir)/lib/dirpaths.h $(top_srcdir)/lib/support/jbd2_user.h $(srcdir)/e2fsck.h \ $(top_srcdir)/lib/ext2fs/ext2_fs.h $(top_builddir)/lib/ext2fs/ext2_types.h \ $(top_srcdir)/lib/ext2fs/ext2fs.h $(top_srcdir)/lib/ext2fs/ext3_extents.h \ $(top_srcdir)/lib/et/com_err.h $(top_srcdir)/lib/ext2fs/ext2_io.h \
@@ -396,7 +396,7 @@ journal.o: $(srcdir)/journal.c $(top_builddir)/lib/config.h \ $(top_srcdir)/lib/ext2fs/fast_commit.h $(top_srcdir)/lib/ext2fs/jfs_compat.h \ $(top_srcdir)/lib/ext2fs/kernel-list.h $(top_srcdir)/lib/ext2fs/compiler.h \ $(top_srcdir)/lib/ext2fs/kernel-jbd.h $(srcdir)/problem.h -recovery.o: $(srcdir)/recovery.c $(srcdir)/jfs_user.h \ +recovery.o: $(srcdir)/recovery.c $(top_srcdir)/lib/support/jbd2_user.h \ $(top_builddir)/lib/config.h $(top_builddir)/lib/dirpaths.h \ $(srcdir)/e2fsck.h $(top_srcdir)/lib/ext2fs/ext2_fs.h \ $(top_builddir)/lib/ext2fs/ext2_types.h $(top_srcdir)/lib/ext2fs/ext2fs.h \
@@ -410,7 +410,7 @@ recovery.o: $(srcdir)/recovery.c $(srcdir)/jfs_user.h \ $(top_srcdir)/lib/ext2fs/fast_commit.h $(top_srcdir)/lib/ext2fs/jfs_compat.h \ $(top_srcdir)/lib/ext2fs/kernel-list.h $(top_srcdir)/lib/ext2fs/compiler.h \ $(top_srcdir)/lib/ext2fs/kernel-jbd.h -revoke.o: $(srcdir)/revoke.c $(srcdir)/jfs_user.h \ +revoke.o: $(srcdir)/revoke.c $(top_srcdir)/lib/support/jbd2_user.h \ $(top_builddir)/lib/config.h $(top_builddir)/lib/dirpaths.h \ $(srcdir)/e2fsck.h $(top_srcdir)/lib/ext2fs/ext2_fs.h \ $(top_builddir)/lib/ext2fs/ext2_types.h $(top_srcdir)/lib/ext2fs/ext2fs.h \
@@ -464,7 +464,7 @@ unix.o: $(srcdir)/unix.c $(top_builddir)/lib/config.h \ $(top_srcdir)/lib/support/quotaio_tree.h \ $(top_srcdir)/lib/ext2fs/fast_commit.h $(top_srcdir)/lib/ext2fs/jfs_compat.h \ $(top_srcdir)/lib/ext2fs/kernel-list.h $(top_srcdir)/lib/ext2fs/compiler.h \ - $(srcdir)/problem.h $(srcdir)/jfs_user.h \ + $(srcdir)/problem.h $(top_srcdir)/lib/support/jbd2_user.h \ $(top_srcdir)/lib/ext2fs/kernel-jbd.h $(top_srcdir)/version.h dirinfo.o: $(srcdir)/dirinfo.c $(top_builddir)/lib/config.h \ $(top_builddir)/lib/dirpaths.h $(srcdir)/e2fsck.h \
e2fsck/journal.c +1 -1
@@ -23,7 +23,7 @@#endif #define E2FSCK_INCLUDE_INLINE_FUNCS -#include "jfs_user.h" +#include "support/jbd2_user.h" #include "problem.h" #include "uuid/uuid.h"
e2fsck/recovery.c +1 -1
@@ -11,7 +11,7 @@*/ #ifndef __KERNEL__ -#include "jfs_user.h" +#include "support/jbd2_user.h" #else #include <linux/time.h> #include <linux/fs.h>
e2fsck/revoke.c +1 -1
@@ -78,7 +78,7 @@*/ #ifndef __KERNEL__ -#include "jfs_user.h" +#include "support/jbd2_user.h" #else #include <linux/time.h> #include <linux/fs.h>
e2fsck/unix.c +1 -1
@@ -55,7 +55,7 @@ extern int optind;#include "support/devname.h" #include "e2fsck.h" #include "problem.h" -#include "jfs_user.h" +#include "support/jbd2_user.h" #include "../version.h" /* Command line options */
lib/ext2fs/Makefile.in +8 -10
@@ -5,10 +5,8 @@ top_builddir = ../.. my_dir = lib/ext2fs INSTALL = @INSTALL@ MKDIR_P = @MKDIR_P@ -DEPEND_CFLAGS = -I$(top_srcdir)/debugfs -I$(srcdir)/../../e2fsck -DDEBUGFS -# This nastiness is needed because of jfs_user.h hackery; when we finally -# clean up this mess, we should be able to drop it -DEBUGFS_CFLAGS = -I$(srcdir)/../../e2fsck $(ALL_CFLAGS) -DDEBUGFS +DEPEND_CFLAGS = -I$(top_srcdir)/debugfs -DDEBUGFS +DEBUGFS_CFLAGS = $(ALL_CFLAGS) -DDEBUGFS @MCONFIG@
@@ -1229,7 +1227,7 @@ debugfs.o: $(top_srcdir)/debugfs/debugfs.c $(top_builddir)/lib/config.h \ $(top_srcdir)/debugfs/../misc/create_inode.h $(top_srcdir)/lib/e2p/e2p.h \ $(top_srcdir)/lib/support/quotaio.h $(top_srcdir)/lib/support/dqblk_v2.h \ $(top_srcdir)/lib/support/quotaio_tree.h $(top_srcdir)/debugfs/../version.h \ - $(srcdir)/../../e2fsck/jfs_user.h $(srcdir)/kernel-jbd.h \ + $(top_srcdir)/lib/support/jbd2_user.h $(srcdir)/kernel-jbd.h \ $(srcdir)/jfs_compat.h $(srcdir)/kernel-list.h $(srcdir)/compiler.h \ $(top_srcdir)/lib/support/plausible.h util.o: $(top_srcdir)/debugfs/util.c $(top_builddir)/lib/config.h \
@@ -1319,7 +1317,7 @@ logdump.o: $(top_srcdir)/debugfs/logdump.c $(top_builddir)/lib/config.h \ $(srcdir)/hashmap.h $(srcdir)/bitops.h \ $(top_srcdir)/debugfs/../misc/create_inode.h $(top_srcdir)/lib/e2p/e2p.h \ $(top_srcdir)/lib/support/quotaio.h $(top_srcdir)/lib/support/dqblk_v2.h \ - $(top_srcdir)/lib/support/quotaio_tree.h $(srcdir)/../../e2fsck/jfs_user.h \ + $(top_srcdir)/lib/support/quotaio_tree.h $(top_srcdir)/lib/support/jbd2_user.h \ $(srcdir)/kernel-jbd.h $(srcdir)/jfs_compat.h $(srcdir)/kernel-list.h \ $(srcdir)/compiler.h $(srcdir)/fast_commit.h htree.o: $(top_srcdir)/debugfs/htree.c $(top_builddir)/lib/config.h \
@@ -1420,13 +1418,13 @@ create_inode.o: $(top_srcdir)/misc/create_inode.c \ $(top_srcdir)/lib/e2p/e2p.h $(top_srcdir)/lib/support/nls-enable.h journal.o: $(top_srcdir)/debugfs/journal.c $(top_builddir)/lib/config.h \ $(top_builddir)/lib/dirpaths.h $(top_srcdir)/debugfs/journal.h \ - $(srcdir)/../../e2fsck/jfs_user.h $(srcdir)/ext2_fs.h \ + $(top_srcdir)/lib/support/jbd2_user.h $(srcdir)/ext2_fs.h \ $(top_builddir)/lib/ext2fs/ext2_types.h $(srcdir)/ext2fs.h \ $(srcdir)/ext3_extents.h $(top_srcdir)/lib/et/com_err.h $(srcdir)/ext2_io.h \ $(top_builddir)/lib/ext2fs/ext2_err.h $(srcdir)/ext2_ext_attr.h \ $(srcdir)/hashmap.h $(srcdir)/bitops.h $(srcdir)/kernel-jbd.h \ $(srcdir)/jfs_compat.h $(srcdir)/kernel-list.h $(srcdir)/compiler.h -revoke.o: $(top_srcdir)/e2fsck/revoke.c $(top_srcdir)/e2fsck/jfs_user.h \ +revoke.o: $(top_srcdir)/e2fsck/revoke.c $(top_srcdir)/lib/support/jbd2_user.h \ $(top_builddir)/lib/config.h $(top_builddir)/lib/dirpaths.h \ $(srcdir)/ext2_fs.h $(top_builddir)/lib/ext2fs/ext2_types.h \ $(srcdir)/ext2fs.h $(srcdir)/ext3_extents.h $(top_srcdir)/lib/et/com_err.h \
@@ -1434,7 +1432,7 @@ revoke.o: $(top_srcdir)/e2fsck/revoke.c $(top_srcdir)/e2fsck/jfs_user.h \ $(srcdir)/ext2_ext_attr.h $(srcdir)/hashmap.h $(srcdir)/bitops.h \ $(srcdir)/kernel-jbd.h $(srcdir)/jfs_compat.h $(srcdir)/kernel-list.h \ $(srcdir)/compiler.h -recovery.o: $(top_srcdir)/e2fsck/recovery.c $(top_srcdir)/e2fsck/jfs_user.h \ +recovery.o: $(top_srcdir)/e2fsck/recovery.c $(top_srcdir)/lib/support/jbd2_user.h \ $(top_builddir)/lib/config.h $(top_builddir)/lib/dirpaths.h \ $(srcdir)/ext2_fs.h $(top_builddir)/lib/ext2fs/ext2_types.h \ $(srcdir)/ext2fs.h $(srcdir)/ext3_extents.h $(top_srcdir)/lib/et/com_err.h \
@@ -1454,4 +1452,4 @@ do_journal.o: $(top_srcdir)/debugfs/do_journal.c $(top_builddir)/lib/config.h \ $(top_srcdir)/lib/support/quotaio.h $(top_srcdir)/lib/support/dqblk_v2.h \ $(top_srcdir)/lib/support/quotaio_tree.h $(srcdir)/kernel-jbd.h \ $(srcdir)/jfs_compat.h $(srcdir)/kernel-list.h $(srcdir)/compiler.h \ - $(top_srcdir)/debugfs/journal.h $(srcdir)/../../e2fsck/jfs_user.h + $(top_srcdir)/debugfs/journal.h $(top_srcdir)/lib/support/jbd2_user.h
lib/support/jbd2_user.h renamed from e2fsck/jfs_user.h +0 -0
misc/Makefile.in +5 -7
@@ -124,10 +124,8 @@ DEPLIBS_E2P= $(LIBE2P) $(DEPLIBCOM_ERR) COMPILE_ET= _ET_DIR_OVERRIDE=$(srcdir)/../lib/et/et ../lib/et/compile_et -# This nastiness is needed because of jfs_user.h hackery; when we finally -# clean up this mess, we should be able to drop it -JOURNAL_CFLAGS = -I$(srcdir)/../e2fsck $(ALL_CFLAGS) -DDEBUGFS -DEPEND_CFLAGS = -I$(top_srcdir)/e2fsck +JOURNAL_CFLAGS = -I $(ALL_CFLAGS) -DDEBUGFS +DEPEND_CFLAGS = .c.o: $(E) " CC $<"
@@ -879,7 +877,7 @@ check_fuzzer.o: $(srcdir)/check_fuzzer.c $(top_srcdir)/lib/ext2fs/ext2_fs.h \ $(top_srcdir)/lib/ext2fs/bitops.h journal.o: $(srcdir)/../debugfs/journal.c $(top_builddir)/lib/config.h \ $(top_builddir)/lib/dirpaths.h $(srcdir)/../debugfs/journal.h \ - $(top_srcdir)/e2fsck/jfs_user.h $(top_srcdir)/e2fsck/e2fsck.h \ + $(top_srcdir)/lib/support/jbd2_user.h $(top_srcdir)/e2fsck/e2fsck.h \ $(top_srcdir)/lib/ext2fs/ext2_fs.h $(top_builddir)/lib/ext2fs/ext2_types.h \ $(top_srcdir)/lib/ext2fs/ext2fs.h $(top_srcdir)/lib/ext2fs/ext3_extents.h \ $(top_srcdir)/lib/et/com_err.h $(top_srcdir)/lib/ext2fs/ext2_io.h \
@@ -892,7 +890,7 @@ journal.o: $(srcdir)/../debugfs/journal.c $(top_builddir)/lib/config.h \ $(top_srcdir)/lib/ext2fs/fast_commit.h $(top_srcdir)/lib/ext2fs/jfs_compat.h \ $(top_srcdir)/lib/ext2fs/kernel-list.h $(top_srcdir)/lib/ext2fs/compiler.h \ $(top_srcdir)/lib/ext2fs/kernel-jbd.h -revoke.o: $(srcdir)/../e2fsck/revoke.c $(srcdir)/../e2fsck/jfs_user.h \ +revoke.o: $(srcdir)/../e2fsck/revoke.c $(top_srcdir)/lib/support/jbd2_user.h \ $(top_builddir)/lib/config.h $(top_builddir)/lib/dirpaths.h \ $(srcdir)/../e2fsck/e2fsck.h $(top_srcdir)/lib/ext2fs/ext2_fs.h \ $(top_builddir)/lib/ext2fs/ext2_types.h $(top_srcdir)/lib/ext2fs/ext2fs.h \
@@ -906,7 +904,7 @@ revoke.o: $(srcdir)/../e2fsck/revoke.c $(srcdir)/../e2fsck/jfs_user.h \ $(top_srcdir)/lib/ext2fs/fast_commit.h $(top_srcdir)/lib/ext2fs/jfs_compat.h \ $(top_srcdir)/lib/ext2fs/kernel-list.h $(top_srcdir)/lib/ext2fs/compiler.h \ $(top_srcdir)/lib/ext2fs/kernel-jbd.h -recovery.o: $(srcdir)/../e2fsck/recovery.c $(srcdir)/../e2fsck/jfs_user.h \ +recovery.o: $(srcdir)/../e2fsck/recovery.c $(top_srcdir)/lib/support/jbd2_user.h \ $(top_builddir)/lib/config.h $(top_builddir)/lib/dirpaths.h \ $(srcdir)/../e2fsck/e2fsck.h $(top_srcdir)/lib/ext2fs/ext2_fs.h \ $(top_builddir)/lib/ext2fs/ext2_types.h $(top_srcdir)/lib/ext2fs/ext2fs.h \
Signature · 1 line
2.25.1
PATCH v2 2/7 lib: move journal checksum code to libsupport
From: Alexey Lyashkov <[email protected]>
e2fsck and debugfs have their own copy journal checksum functions, kill duplicates and move into support library.
--- debugfs/journal.c | 50 ---------------------------------- e2fsck/journal.c | 60 ++++------------------------------------- lib/support/Android.bp | 1 + lib/support/Makefile.in | 4 +++ lib/support/jbd2_user.h | 6 +++++ 5 files changed, 16 insertions(+), 105 deletions(-)
debugfs/journal.c +0 -50
@@ -43,56 +43,6 @@ static int bh_count = 0;*/ #undef USE_INODE_IO -/* Checksumming functions */ -static int ext2fs_journal_verify_csum_type (journal_t *j, -journal_superblock_t *jsb) -{ -if (!jbd2_journal_has_csum_v2or3 (j)) -return 1 ; - -return jsb->s_checksum_type ==JBD2_CRC32C_CHKSUM ; -} - -static __u32 ext2fs_journal_sb_csum (journal_superblock_t *jsb) -{ -__u32 crc, old_crc; - - old_crc = jsb->s_checksum; - jsb->s_checksum =0 ; - crc =ext2fs_crc32c_le (~0 , (unsigned char *)jsb, -sizeof (journal_superblock_t)); - jsb->s_checksum = old_crc; - -return crc; -} - -static int ext2fs_journal_sb_csum_verify (journal_t *j, -journal_superblock_t *jsb) -{ -__u32 provided, calculated; - -if (!jbd2_journal_has_csum_v2or3 (j)) -return 1 ; - - provided =ext2fs_be32_to_cpu (jsb->s_checksum); - calculated =ext2fs_journal_sb_csum (jsb); - -return provided == calculated; -} - -static errcode_t ext2fs_journal_sb_csum_set (journal_t *j, -journal_superblock_t *jsb) -{ -__u32 crc; - -if (!jbd2_journal_has_csum_v2or3 (j)) -return 0 ; - - crc =ext2fs_journal_sb_csum (jsb); - jsb->s_checksum =ext2fs_cpu_to_be32 (crc); -return 0 ; -} -/* Kernel compatibility functions for handling the journal. These allow us * to use the recovery.c file virtually unchanged from the kernel, so we * don't have to do much to keep kernel and user recovery in sync.
e2fsck/journal.c +5 -55
90 lines not on this page · raw message
lib/support/Android.bp +1 -0
@@ -30,6 +30,7 @@ cc_library { "quotaio.c", "quotaio_tree.c", "quotaio_v2.c", + "jbd2_user.c" ], shared_libs: [ "libext2fs",
lib/support/Makefile.in +4 -0
@@ -14,6 +14,7 @@ MKDIR_P = @MKDIR_P@ all:: OBJS= cstring.o \ + jbd2_user.o \ mkquota.o \ plausible.o \ profile.o \
@@ -29,6 +30,7 @@ OBJS= cstring.o \ SRCS= $(srcdir)/argv_parse.c \ $(srcdir)/cstring.c \ + $(srcdir)/jbd2_user.c \ $(srcdir)/mkquota.c \ $(srcdir)/parse_qtype.c \ $(srcdir)/plausible.c \
@@ -110,6 +112,8 @@ argv_parse.o: $(srcdir)/argv_parse.c $(top_builddir)/lib/config.h \ $(top_builddir)/lib/dirpaths.h $(srcdir)/argv_parse.h cstring.o: $(srcdir)/cstring.c $(top_builddir)/lib/config.h \ $(top_builddir)/lib/dirpaths.h $(srcdir)/cstring.h +jbd2_user.o: $(srcdir)/jbd2_user.c $(top_builddir)/lib/config.h \ + $(srcdir)/jbd2_user.h mkquota.o: $(srcdir)/mkquota.c $(top_builddir)/lib/config.h \ $(top_builddir)/lib/dirpaths.h $(top_srcdir)/lib/ext2fs/ext2_fs.h \ $(top_builddir)/lib/ext2fs/ext2_types.h $(top_srcdir)/lib/ext2fs/ext2fs.h \
lib/support/jbd2_user.h +6 -0
@@ -251,6 +251,12 @@ _INLINE_ void jbd2_descriptor_block_csum_set(journal_t *j,#undef _INLINE_#endif +/* Checksumming functions */ +int ext2fs_journal_verify_csum_type (journal_t *j,journal_superblock_t *jsb); +__u32 ext2fs_journal_sb_csum (journal_superblock_t *jsb); +int ext2fs_journal_sb_csum_verify (journal_t *j,journal_superblock_t *jsb); +errcode_t ext2fs_journal_sb_csum_set (journal_t *j,journal_superblock_t *jsb); +/* * Kernel compatibility functions are defined in journal.c */
Signature · 1 line
2.25.1
PATCH v2 3/7 lib: kill e2fsck use of ctx->journal_io
In reply to Andreas DilgerFrom: Alexey Lyashkov <[email protected]>
Replace e2fsck-specific code with generic one to use fs->journal_io.
--- debugfs/journal.c | 34 -------------------------- e2fsck/e2fsck.c | 6 +---- e2fsck/e2fsck.h | 1 - e2fsck/journal.c | 53 +++++++---------------------------------- lib/support/jbd2_user.h | 2 ++ 5 files changed, 11 insertions(+), 85 deletions(-)
debugfs/journal.c +0 -34
@@ -590,40 +590,6 @@ static errcode_t ext2fs_journal_load(journal_t *journal)return 0 ; } -static void ext2fs_journal_release (ext2_filsys fs,journal_t *journal, -int reset,int drop) -{ -journal_superblock_t *jsb; - -if (drop) -mark_buffer_clean (journal->j_sb_buffer); -else if (fs->flags &EXT2_FLAG_RW ) { - jsb = journal->j_superblock; - jsb->s_sequence =htonl (journal->j_tail_sequence); -if (reset) - jsb->s_start =0 ;/* this marks the journal as empty */ -ext2fs_journal_sb_csum_set (journal, jsb); -mark_buffer_dirty (journal->j_sb_buffer); - } -brelse (journal->j_sb_buffer); - -if (fs && fs->journal_io) { -if (fs->io != fs->journal_io) -io_channel_close (fs->journal_io); - fs->journal_io =NULL ; -free (fs->journal_name); - fs->journal_name =NULL ; - } - -#ifndef USE_INODE_IO -if (journal->j_inode) -ext2fs_free_mem (&journal->j_inode); -#endif -if (journal->j_fs_dev) -ext2fs_free_mem (&journal->j_fs_dev); -ext2fs_free_mem (&journal); -} -/* * This function makes sure that the superblock fields regarding the * journal are consistent.
e2fsck/e2fsck.c +1 -5
@@ -83,11 +83,7 @@ errcode_t e2fsck_reset_context(e2fsck_t ctx)ext2fs_free_icount (ctx->inode_link_info); ctx->inode_link_info =0 ; } -if (ctx->journal_io) { -if (ctx->fs && ctx->fs->io != ctx->journal_io) -io_channel_close (ctx->journal_io); - ctx->journal_io =0 ; - } +if (ctx->fs && ctx->fs->dblist) {ext2fs_free_dblist (ctx->fs->dblist); ctx->fs->dblist =0 ;
e2fsck/e2fsck.h +0 -1
@@ -380,7 +380,6 @@ struct e2fsck_struct {/* * ext3 journal support */ -io_channel journal_io;char *journal_name;/*
e2fsck/journal.c +8 -45
111 lines not on this page · raw message
lib/support/jbd2_user.h +2 -0
@@ -256,6 +256,8 @@ int ext2fs_journal_verify_csum_type(journal_t *j, journal_superblock_t *jsb);__u32 ext2fs_journal_sb_csum (journal_superblock_t *jsb);int ext2fs_journal_sb_csum_verify (journal_t *j,journal_superblock_t *jsb);errcode_t ext2fs_journal_sb_csum_set (journal_t *j,journal_superblock_t *jsb); +void ext2fs_journal_release (ext2_filsys fs,journal_t *journal,int reset, +int drop);/* * Kernel compatibility functions are defined in journal.c
Signature · 1 line
2.25.1
PATCH v2 4/7 lib: remove e2fsck context from bh emulation
In reply to Andreas DilgerFrom: Alexey Lyashkov <[email protected]>
In order to generalize journal handing, remove the e2fsck context from generic structures like buffer_head, and device. But fast commit code wants an e2fsck context as well, so move the context pointer to journal struct.
--- e2fsck/journal.c | 46 ++++++++++++++++++++--------------------- lib/ext2fs/jfs_compat.h | 2 ++ lib/support/jbd2_user.h | 12 ----------- 3 files changed, 25 insertions(+), 35 deletions(-)
e2fsck/journal.c +23 -23
@@ -58,7 +58,7 @@ int jbd2_journal_bmap(journal_t *journal, unsigned long block,return 0 ; } - retval=ext2fs_bmap2 (inode->i_ctx->fs, inode->i_ino, + retval=ext2fs_bmap2 (inode->i_fs, inode->i_ino, &inode->i_ext2,NULL ,0 , (blk64_t ) block,0 , &pblk); *phys = pblk;
@@ -70,11 +70,12 @@ struct buffer_head *getblk(kdev_t kdev, unsigned long long blocknr, int blocksize) {struct buffer_head *bh; -int bufsize =sizeof (*bh) + kdev->k_ctx->fs->blocksize - +int bufsize =sizeof (*bh) + kdev->k_fs->blocksize -sizeof (bh->b_data); +errcode_t retval; - bh =e2fsck_allocate_memory (kdev->k_ctx, bufsize,"block buffer" ); -if (!bh) + retval =ext2fs_get_memzero (bufsize, &bh); +if (retval)return NULL ;if (journal_enable_debug >=3 )
@@ -82,11 +83,11 @@ struct buffer_head *getblk(kdev_t kdev, unsigned long long blocknr,jfs_debug (4 ,"getblk for block %llu (%d bytes)(total %d)\n" , blocknr, blocksize, bh_count); - bh->b_ctx = kdev->k_ctx; + bh->b_fs = kdev->k_fs;if (kdev->k_dev ==K_DEV_FS ) - bh->b_io = kdev->k_ctx->fs->io; + bh->b_io = kdev->k_fs->io;else - bh->b_io = kdev->k_ctx->fs->journal_io; + bh->b_io = kdev->k_fs->journal_io; bh->b_size = blocksize; bh->b_blocknr = blocknr;
@@ -98,9 +99,9 @@ int sync_blockdev(kdev_t kdev)io_channel io;if (kdev->k_dev ==K_DEV_FS ) - io = kdev->k_ctx->fs->io; + io = kdev->k_fs->io;else - io = kdev->k_ctx->fs->journal_io; + io = kdev->k_fs->journal_io;return io_channel_flush (io) ? -EIO :0 ; }
@@ -120,7 +121,7 @@ void ll_rw_block(int rw, int op_flags EXT2FS_ATTR((unused)), int nr, bh->b_blocknr, 1, bh->b_data);if (retval) { -com_err (bh->b_ctx->device_name, retval, +com_err (bh->b_fs->device_name, retval,"while reading block %llu\n" , bh->b_blocknr); bh->b_err = (int ) retval;
@@ -135,7 +136,7 @@ void ll_rw_block(int rw, int op_flags EXT2FS_ATTR((unused)), int nr, bh->b_blocknr, 1, bh->b_data);if (retval) { -com_err (bh->b_ctx->device_name, retval, +com_err (bh->b_fs->device_name, retval,"while writing block %llu\n" , bh->b_blocknr); bh->b_err = (int ) retval;
@@ -223,7 +224,7 @@ static int process_journal_block(ext2_filsys fs,static int ext4_fc_replay_scan (journal_t *j,struct buffer_head *bh,int off,tid_t expected_tid) { -e2fsck_t ctx = j->j_fs_dev->k_ctx; +e2fsck_t ctx = j->j_ctx;struct e2fsck_fc_replay_state *state;int ret =JBD2_FC_REPLAY_CONTINUE ;struct ext4_fc_add_range ext;
@@ -805,7 +806,7 @@ static int ext4_fc_handle_del_range(e2fsck_t ctx, __u8 *val)static int ext4_fc_replay (journal_t *journal,struct buffer_head *bh,enum passtype pass,int off,tid_t expected_tid) { -e2fsck_t ctx = journal->j_fs_dev->k_ctx; +e2fsck_t ctx = journal->j_ctx;struct e2fsck_fc_replay_state *state = &ctx->fc_replay_state;int ret =JBD2_FC_REPLAY_CONTINUE ;struct ext4_fc_tl tl;
@@ -933,10 +934,11 @@ static errcode_t e2fsck_get_journal(e2fsck_t ctx, journal_t **ret_journal) } dev_journal = dev_fs+1 ; - dev_fs->k_ctx = dev_journal->k_ctx = ctx; + dev_fs->k_fs = dev_journal->k_fs = ctx->fs; dev_fs->k_dev =K_DEV_FS ; dev_journal->k_dev =K_DEV_JOURNAL ; + journal->j_ctx = ctx; journal->j_dev = dev_journal; journal->j_fs_dev = dev_fs; journal->j_inode =NULL ;
@@ -961,7 +963,7 @@ static errcode_t e2fsck_get_journal(e2fsck_t ctx, journal_t **ret_journal) goto errout; } - j_inode->i_ctx = ctx; + j_inode->i_fs = ctx->fs; j_inode->i_ino = sb->s_journal_inum; if ((retval = ext2fs_read_inode(ctx->fs,
@@ -1203,9 +1205,8 @@ static errcode_t e2fsck_journal_fix_bad_inode(e2fsck_t ctx, }#define V1_SB_SIZE 0x0024 -static void clear_v2_journal_fields (journal_t *journal) +static void clear_v2_journal_fields (e2fsck_t ctx,journal_t *journal) { -e2fsck_t ctx = journal->j_dev->k_ctx;struct problem_context pctx;clear_problem_context (&pctx);
@@ -1220,9 +1221,8 @@ static void clear_v2_journal_fields(journal_t *journal) } -static errcode_t e2fsck_journal_load (journal_t *journal) +static errcode_t e2fsck_journal_load (e2fsck_t ctx,journal_t *journal) { -e2fsck_t ctx = journal->j_dev->k_ctx;journal_superblock_t *jsb;struct buffer_head *jbh = journal->j_sb_buffer;struct problem_context pctx;
@@ -1248,14 +1248,14 @@ static errcode_t e2fsck_journal_load(journal_t *journal) jsb->s_feature_incompat || jsb->s_feature_ro_compat || jsb->s_nr_users) -clear_v2_journal_fields (journal); +clear_v2_journal_fields (ctx, journal);break ;case JBD2_SUPERBLOCK_V2 : journal->j_format_version =2 ;if (ntohl (jsb->s_nr_users) >1 &&uuid_is_null (ctx->fs->super->s_journal_uuid)) -clear_v2_journal_fields (journal); +clear_v2_journal_fields (ctx, journal);if (ntohl (jsb->s_nr_users) >1 ) {fix_problem (ctx,PR_0_JOURNAL_UNSUPP_MULTIFS , &pctx);return EXT2_ET_JOURNAL_UNSUPP_VERSION ;
@@ -1442,7 +1442,7 @@ errcode_t e2fsck_check_ext3_journal(e2fsck_t ctx)return retval; } - retval =e2fsck_journal_load (journal); + retval =e2fsck_journal_load (ctx, journal);if (retval) { if ((retval == EXT2_ET_CORRUPT_JOURNAL_SB) || ((retval == EXT2_ET_UNSUPP_FEATURE) &&
@@ -1560,7 +1560,7 @@ static errcode_t recover_ext3_journal(e2fsck_t ctx)if (retval)return retval; - retval =e2fsck_journal_load (journal); + retval =e2fsck_journal_load (ctx, journal);if (retval) goto errout;
lib/ext2fs/jfs_compat.h +2 -0
@@ -37,6 +37,7 @@ typedef struct kdev_s *kdev_t;struct buffer_head ;struct inode ; +struct e2fsck_struct ;typedef unsigned int gfp_t ;#define GFP_KERNEL 0
@@ -94,6 +95,7 @@ struct journal_sstruct jbd2_revoke_table_s *j_revoke_table[2 ];tid_t j_failed_commit;__u32 j_csum_seed; +struct e2fsck_struct * j_ctx; int (*j_fc_replay_callback)(struct journal_s *journal, struct buffer_head *bh, enum passtype pass, int off,
lib/support/jbd2_user.h +0 -12
@@ -41,11 +41,7 @@#endif struct buffer_head { -#ifdef DEBUGFS ext2_filsys b_fs; -#else -e2fsck_t b_ctx; -#endif io_channel b_io;int b_size;int b_err;
@@ -56,21 +52,13 @@ struct buffer_head { };struct inode { -#ifdef DEBUGFS ext2_filsys i_fs; -#else -e2fsck_t i_ctx; -#endif ext2_ino_t i_ino;struct ext2_inode i_ext2; };struct kdev_s { -#ifdef DEBUGFS ext2_filsys k_fs; -#else -e2fsck_t k_ctx; -#endif int k_dev; };
Signature · 1 line
2.25.1