111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/****************************************************************************
211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ****************************************************************************
311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***
411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***   This header was automatically generated from a Linux kernel header
511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***   of the same name, to make information necessary for userspace to
611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***   call into the kernel available to libc.  It contains only constants,
711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***   structures, and macros generated from the original header, and thus,
811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***   contains no copyrightable information.
911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***
1011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***   To edit the content of this header, modify the corresponding
1111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***   source file (e.g. under external/kernel-headers/original/) then
1211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***   run bionic/libc/kernel/tools/update_all.py
1311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***
1411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***   Any manual change here will be lost the next time this script will
1511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***   be run. You've been warned!
1611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***
1711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ****************************************************************************
1811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ****************************************************************************/
1911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#ifndef _MD_P_H
2011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define _MD_P_H
2111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#include <linux/types.h>
2211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#include <asm/byteorder.h>
2311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
2411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define MD_RESERVED_BYTES (64 * 1024)
2511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define MD_RESERVED_SECTORS (MD_RESERVED_BYTES / 512)
2611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define MD_NEW_SIZE_SECTORS(x) ((x & ~(MD_RESERVED_SECTORS - 1)) - MD_RESERVED_SECTORS)
2711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define MD_SB_BYTES 4096
2811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
2911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define MD_SB_WORDS (MD_SB_BYTES / 4)
3011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define MD_SB_SECTORS (MD_SB_BYTES / 512)
3111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define MD_SB_GENERIC_OFFSET 0
3211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define MD_SB_PERSONALITY_OFFSET 64
3311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
3411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define MD_SB_DISKS_OFFSET 128
3511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define MD_SB_DESCRIPTOR_OFFSET 992
3611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define MD_SB_GENERIC_CONSTANT_WORDS 32
3711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define MD_SB_GENERIC_STATE_WORDS 32
3811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
3911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define MD_SB_GENERIC_WORDS (MD_SB_GENERIC_CONSTANT_WORDS + MD_SB_GENERIC_STATE_WORDS)
4011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define MD_SB_PERSONALITY_WORDS 64
4111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define MD_SB_DESCRIPTOR_WORDS 32
4211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define MD_SB_DISKS 27
4311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
4411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define MD_SB_DISKS_WORDS (MD_SB_DISKS*MD_SB_DESCRIPTOR_WORDS)
4511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define MD_SB_RESERVED_WORDS (1024 - MD_SB_GENERIC_WORDS - MD_SB_PERSONALITY_WORDS - MD_SB_DISKS_WORDS - MD_SB_DESCRIPTOR_WORDS)
4611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define MD_SB_EQUAL_WORDS (MD_SB_GENERIC_WORDS + MD_SB_PERSONALITY_WORDS + MD_SB_DISKS_WORDS)
4711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define MD_DISK_FAULTY 0
4811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
4911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define MD_DISK_ACTIVE 1
5011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define MD_DISK_SYNC 2
5111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define MD_DISK_REMOVED 3
5211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define MD_DISK_WRITEMOSTLY 9
5311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
5411cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef struct mdp_device_descriptor_s {
5511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 number;
5611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 major;
5711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 minor;
5811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
5911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 raid_disk;
6011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 state;
6111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 reserved[MD_SB_DESCRIPTOR_WORDS - 5];
6211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} mdp_disk_t;
6311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
6411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define MD_SB_MAGIC 0xa92b4efc
6511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define MD_SB_CLEAN 0
6611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define MD_SB_ERRORS 1
6711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define MD_SB_BITMAP_PRESENT 8
6811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
6911cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef struct mdp_superblock_s {
7011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 md_magic;
7111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 major_version;
7211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 minor_version;
7311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
7411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 patch_version;
7511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 gvalid_words;
7611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 set_uuid0;
7711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 ctime;
7811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
7911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 level;
8011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 size;
8111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 nr_disks;
8211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 raid_disks;
8311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
8411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 md_minor;
8511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 not_persistent;
8611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 set_uuid1;
8711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 set_uuid2;
8811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
8911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 set_uuid3;
9011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 gstate_creserved[MD_SB_GENERIC_CONSTANT_WORDS - 16];
9111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 utime;
9211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 state;
9311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
9411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 active_disks;
9511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 working_disks;
9611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 failed_disks;
9711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 spare_disks;
9811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
9911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 sb_csum;
10011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#if defined(__BYTE_ORDER) ? __BYTE_ORDER == __BIG_ENDIAN : defined(__BIG_ENDIAN)
10111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 events_hi;
10211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 events_lo;
10311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
10411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 cp_events_hi;
10511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 cp_events_lo;
10611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#elif defined(__BYTE_ORDER) ? __BYTE_ORDER == __LITTLE_ENDIAN : defined(__LITTLE_ENDIAN)
10711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 events_lo;
10811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
10911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 events_hi;
11011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 cp_events_lo;
11111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 cp_events_hi;
11211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#else
11311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
11411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#error unspecified endianness
11511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif
11611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 recovery_cp;
11711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u64 reshape_position;
11811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
11911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 new_level;
12011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 delta_disks;
12111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 new_layout;
12211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 new_chunk;
12311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
12411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 gstate_sreserved[MD_SB_GENERIC_STATE_WORDS - 18];
12511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 layout;
12611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 chunk_size;
12711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 root_pv;
12811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
12911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 root_block;
13011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 pstate_reserved[MD_SB_PERSONALITY_WORDS - 4];
13111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert mdp_disk_t disks[MD_SB_DISKS];
13211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 reserved[MD_SB_RESERVED_WORDS];
13311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
13411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert mdp_disk_t this_disk;
13511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} mdp_super_t;
13611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define MD_SUPERBLOCK_1_TIME_SEC_MASK ((1ULL<<40) - 1)
13711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct mdp_superblock_1 {
13811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
13911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __le32 magic;
14011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __le32 major_version;
14111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __le32 feature_map;
14211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __le32 pad0;
14311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
14411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u8 set_uuid[16];
14511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert char set_name[32];
14611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __le64 ctime;
14711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __le32 level;
14811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
14911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __le32 layout;
15011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __le64 size;
15111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __le32 chunksize;
15211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __le32 raid_disks;
15311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
15411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __le32 bitmap_offset;
15511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __le32 new_level;
15611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __le64 reshape_position;
15711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __le32 delta_disks;
15811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
15911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __le32 new_layout;
16011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __le32 new_chunk;
16111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __le32 new_offset;
16211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __le64 data_offset;
16311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
16411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __le64 data_size;
16511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __le64 super_offset;
16611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __le64 recovery_offset;
16711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __le32 dev_number;
16811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
16911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __le32 cnt_corrected_read;
17011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u8 device_uuid[16];
17111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u8 devflags;
17211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define WriteMostly1 1
17311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
17411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u8 bblog_shift;
17511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __le16 bblog_size;
17611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __le32 bblog_offset;
17711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __le64 utime;
17811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
17911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __le64 events;
18011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __le64 resync_offset;
18111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __le32 sb_csum;
18211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __le32 max_dev;
18311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
18411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u8 pad3[64-32];
18511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __le16 dev_roles[0];
18611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert};
18711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define MD_FEATURE_BITMAP_OFFSET 1
18811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
18911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define MD_FEATURE_RECOVERY_OFFSET 2
19011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define MD_FEATURE_RESHAPE_ACTIVE 4
19111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define MD_FEATURE_BAD_BLOCKS 8
19211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define MD_FEATURE_REPLACEMENT 16
19311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
19411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define MD_FEATURE_RESHAPE_BACKWARDS 32
19511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define MD_FEATURE_NEW_OFFSET 64
19611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define MD_FEATURE_RECOVERY_BITMAP 128
19711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define MD_FEATURE_ALL (MD_FEATURE_BITMAP_OFFSET   |MD_FEATURE_RECOVERY_OFFSET   |MD_FEATURE_RESHAPE_ACTIVE   |MD_FEATURE_BAD_BLOCKS   |MD_FEATURE_REPLACEMENT   |MD_FEATURE_RESHAPE_BACKWARDS   |MD_FEATURE_NEW_OFFSET   |MD_FEATURE_RECOVERY_BITMAP   )
19811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
19911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif
200