#ifdef HAVE_NETINET_IN_H
#include <netinet/in.h>
#endif
+#ifdef HAVE_WINSOCK_H
+#include <winsock.h>
+#else
+#include <arpa/inet.h>
+#endif
+#include <stdbool.h>
#define printk printf
#define KERN_ERR ""
#define KERN_DEBUG ""
-#define READ 0
-#define WRITE 1
+#define REQ_OP_READ 0
+#define REQ_OP_WRITE 1
+
+#define cpu_to_le16(x) ext2fs_cpu_to_le16(x)
+#define cpu_to_be16(x) ext2fs_cpu_to_be16(x)
+#define cpu_to_le32(x) ext2fs_cpu_to_le32(x)
+#define cpu_to_be32(x) ext2fs_cpu_to_be32(x)
+#define cpu_to_le64(x) ext2fs_cpu_to_le64(x)
+#define cpu_to_be64(x) ext2fs_cpu_to_be64(x)
-#define cpu_to_be32(n) htonl(n)
-#define be32_to_cpu(n) ntohl(n)
+#define le16_to_cpu(x) ext2fs_le16_to_cpu(x)
+#define be16_to_cpu(x) ext2fs_be16_to_cpu(x)
+#define le32_to_cpu(x) ext2fs_le32_to_cpu(x)
+#define be32_to_cpu(x) ext2fs_be32_to_cpu(x)
+#define le64_to_cpu(x) ext2fs_le64_to_cpu(x)
+#define be64_to_cpu(x) ext2fs_be64_to_cpu(x)
-typedef int tid_t;
+typedef unsigned int tid_t;
typedef struct journal_s journal_t;
+typedef struct kdev_s *kdev_t;
struct buffer_head;
struct inode;
+typedef unsigned int gfp_t;
+#define GFP_KERNEL 0
+#define GFP_NOFS 0
+#define __GFP_NOFAIL 0
+#define JBD2_TAG_SIZE32 JBD_TAG_SIZE32
+#define JBD2_BARRIER 0
+typedef __u64 u64;
+#define put_bh(x) brelse(x)
+
+#define crc32_be(x, y, z) ext2fs_crc32_be((x), (y), (z))
+#define spin_lock_init(x)
+#define spin_lock(x)
+#define spin_unlock(x)
+#define SLAB_HWCACHE_ALIGN 0
+#define SLAB_TEMPORARY 0
+#define KMEM_CACHE(__struct, __flags) kmem_cache_create(#__struct,\
+ sizeof(struct __struct), __alignof__(struct __struct),\
+ (__flags), NULL)
+
+#define blkdev_issue_flush(kdev) sync_blockdev(kdev)
+#define is_power_of_2(x) ((x) != 0 && (((x) & ((x) - 1)) == 0))
+#define pr_emerg(fmt)
+#define pr_err(...)
+
+enum passtype {PASS_SCAN, PASS_REVOKE, PASS_REPLAY};
+
+#define JBD2_FC_REPLAY_STOP 0
+#define JBD2_FC_REPLAY_CONTINUE 1
+
struct journal_s
{
unsigned long j_flags;
int j_format_version;
unsigned long j_head;
unsigned long j_tail;
+ unsigned long j_fc_first;
+ unsigned long j_fc_off;
+ unsigned long j_fc_last;
unsigned long j_free;
unsigned long j_first, j_last;
kdev_t j_dev;
kdev_t j_fs_dev;
int j_blocksize;
unsigned int j_blk_offset;
- unsigned int j_maxlen;
+ unsigned int j_total_len;
struct inode * j_inode;
tid_t j_tail_sequence;
tid_t j_transaction_sequence;
__u8 j_uuid[16];
- struct jbd_revoke_table_s *j_revoke;
-};
+ struct jbd2_revoke_table_s *j_revoke;
+ struct jbd2_revoke_table_s *j_revoke_table[2];
+ tid_t j_failed_commit;
+ __u32 j_csum_seed;
+ int (*j_fc_replay_callback)(struct journal_s *journal,
+ struct buffer_head *bh,
+ enum passtype pass, int off,
+ tid_t expected_tid);
-#define J_ASSERT(assert) \
- do { if (!(assert)) { \
- printf ("Assertion failure in %s() at %s line %d: " \
- "\"%s\"\n", \
- __FUNCTION__, __FILE__, __LINE__, # assert); \
- fatal_error(e2fsck_global_ctx, 0); \
- } } while (0)
+};
#define is_journal_abort(x) 0