diff options
Diffstat (limited to 'include/linux/raid/md_p.h')
| -rw-r--r-- | include/linux/raid/md_p.h | 15 | 
1 files changed, 13 insertions, 2 deletions
diff --git a/include/linux/raid/md_p.h b/include/linux/raid/md_p.h index 8c0a3adc5df..ee753536ab7 100644 --- a/include/linux/raid/md_p.h +++ b/include/linux/raid/md_p.h @@ -233,7 +233,10 @@ struct mdp_superblock_1 {  	__le32	delta_disks;	/* change in number of raid_disks		*/  	__le32	new_layout;	/* new layout					*/  	__le32	new_chunk;	/* new chunk size (512byte sectors)		*/ -	__u8	pad1[128-124];	/* set to 0 when written */ +	__le32  new_offset;	/* signed number to add to data_offset in new +				 * layout.  0 == no-change.  This can be +				 * different on each device in the array. +				 */  	/* constant this-device information - 64 bytes */  	__le64	data_offset;	/* sector start of data, often 0 */ @@ -281,10 +284,18 @@ struct mdp_superblock_1 {  					    * active device with same 'role'.  					    * 'recovery_offset' is also set.  					    */ +#define	MD_FEATURE_RESHAPE_BACKWARDS	32 /* Reshape doesn't change number +					    * of devices, but is going +					    * backwards anyway. +					    */ +#define	MD_FEATURE_NEW_OFFSET		64 /* new_offset must be honoured */  #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_REPLACEMENT		\ +					|MD_FEATURE_RESHAPE_BACKWARDS	\ +					|MD_FEATURE_NEW_OFFSET		\ +					)  #endif   |