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