linux/fs/ext4/fast_commit.h

/* SPDX-License-Identifier: GPL-2.0 */

#ifndef __FAST_COMMIT_H__
#define __FAST_COMMIT_H__

/*
 * Note this file is present in e2fsprogs/lib/ext2fs/fast_commit.h and
 * linux/fs/ext4/fast_commit.h. These file should always be byte identical.
 */

/* Fast commit tags */
#define EXT4_FC_TAG_ADD_RANGE
#define EXT4_FC_TAG_DEL_RANGE
#define EXT4_FC_TAG_CREAT
#define EXT4_FC_TAG_LINK
#define EXT4_FC_TAG_UNLINK
#define EXT4_FC_TAG_INODE
#define EXT4_FC_TAG_PAD
#define EXT4_FC_TAG_TAIL
#define EXT4_FC_TAG_HEAD

#define EXT4_FC_SUPPORTED_FEATURES

/* On disk fast commit tlv value structures */

/* Fast commit on disk tag length structure */
struct ext4_fc_tl {};

/* Value structure for tag EXT4_FC_TAG_HEAD. */
struct ext4_fc_head {};

/* Value structure for EXT4_FC_TAG_ADD_RANGE. */
struct ext4_fc_add_range {};

/* Value structure for tag EXT4_FC_TAG_DEL_RANGE. */
struct ext4_fc_del_range {};

/*
 * This is the value structure for tags EXT4_FC_TAG_CREAT, EXT4_FC_TAG_LINK
 * and EXT4_FC_TAG_UNLINK.
 */
struct ext4_fc_dentry_info {};

/* Value structure for EXT4_FC_TAG_INODE. */
struct ext4_fc_inode {};

/* Value structure for tag EXT4_FC_TAG_TAIL. */
struct ext4_fc_tail {};

/* Tag base length */
#define EXT4_FC_TAG_BASE_LEN

/*
 * Fast commit status codes
 */
enum {};

/*
 * Fast commit ineligiblity reasons:
 */
enum {};

#ifdef __KERNEL__
/*
 * In memory list of dentry updates that are performed on the file
 * system used by fast commit code.
 */
struct ext4_fc_dentry_update {};

struct ext4_fc_stats {};

#define EXT4_FC_REPLAY_REALLOC_INCREMENT

/*
 * Physical block regions added to different inodes due to fast commit
 * recovery. These are set during the SCAN phase. During the replay phase,
 * our allocator excludes these from its allocation. This ensures that
 * we don't accidentally allocating a block that is going to be used by
 * another inode.
 */
struct ext4_fc_alloc_region {};

/*
 * Fast commit replay state.
 */
struct ext4_fc_replay_state {};

#define region_last(__region)
#endif

static inline const char *tag2str(__u16 tag)
{}

#endif /* __FAST_COMMIT_H__ */