diff options
Diffstat (limited to 'include')
| -rw-r--r-- | include/linux/drbd.h | 22 | ||||
| -rw-r--r-- | include/linux/drbd_limits.h | 29 | ||||
| -rw-r--r-- | include/linux/drbd_nl.h | 6 | ||||
| -rw-r--r-- | include/linux/dynamic_debug.h | 2 | ||||
| -rw-r--r-- | include/linux/pci_ids.h | 1 | 
5 files changed, 42 insertions, 18 deletions
diff --git a/include/linux/drbd.h b/include/linux/drbd.h index 479ee3a1d90..9b2a0158f39 100644 --- a/include/linux/drbd.h +++ b/include/linux/drbd.h @@ -53,10 +53,10 @@  extern const char *drbd_buildtag(void); -#define REL_VERSION "8.3.8.1" +#define REL_VERSION "8.3.9rc2"  #define API_VERSION 88  #define PRO_VERSION_MIN 86 -#define PRO_VERSION_MAX 94 +#define PRO_VERSION_MAX 95  enum drbd_io_error_p { @@ -91,6 +91,11 @@ enum drbd_after_sb_p {  	ASB_VIOLENTLY  }; +enum drbd_on_no_data { +	OND_IO_ERROR, +	OND_SUSPEND_IO +}; +  /* KEEP the order, do not delete or insert. Only append. */  enum drbd_ret_codes {  	ERR_CODE_BASE		= 100, @@ -140,6 +145,7 @@ enum drbd_ret_codes {  	ERR_CONNECTED		= 151, /* DRBD 8.3 only */  	ERR_PERM		= 152,  	ERR_NEED_APV_93		= 153, +	ERR_STONITH_AND_PROT_A  = 154,  	/* insert new ones above this line */  	AFTER_LAST_ERR_CODE @@ -226,13 +232,17 @@ union drbd_state {  		unsigned conn:5 ;   /* 17/32	 cstates */  		unsigned disk:4 ;   /* 8/16	 from D_DISKLESS to D_UP_TO_DATE */  		unsigned pdsk:4 ;   /* 8/16	 from D_DISKLESS to D_UP_TO_DATE */ -		unsigned susp:1 ;   /* 2/2	 IO suspended  no/yes */ +		unsigned susp:1 ;   /* 2/2	 IO suspended no/yes (by user) */  		unsigned aftr_isp:1 ; /* isp .. imposed sync pause */  		unsigned peer_isp:1 ;  		unsigned user_isp:1 ; -		unsigned _pad:11;   /* 0	 unused */ +		unsigned susp_nod:1 ; /* IO suspended because no data */ +		unsigned susp_fen:1 ; /* IO suspended because fence peer handler runs*/ +		unsigned _pad:9;   /* 0	 unused */  #elif defined(__BIG_ENDIAN_BITFIELD) -		unsigned _pad:11;   /* 0	 unused */ +		unsigned _pad:9; +		unsigned susp_fen:1 ; +		unsigned susp_nod:1 ;  		unsigned user_isp:1 ;  		unsigned peer_isp:1 ;  		unsigned aftr_isp:1 ; /* isp .. imposed sync pause */ @@ -312,6 +322,8 @@ enum drbd_timeout_flag {  #define DRBD_MAGIC 0x83740267  #define BE_DRBD_MAGIC __constant_cpu_to_be32(DRBD_MAGIC) +#define DRBD_MAGIC_BIG 0x835a +#define BE_DRBD_MAGIC_BIG __constant_cpu_to_be16(DRBD_MAGIC_BIG)  /* these are of type "int" */  #define DRBD_MD_INDEX_INTERNAL -1 diff --git a/include/linux/drbd_limits.h b/include/linux/drbd_limits.h index 440b42e38e8..4ac33f34b77 100644 --- a/include/linux/drbd_limits.h +++ b/include/linux/drbd_limits.h @@ -128,26 +128,31 @@  #define DRBD_AFTER_SB_1P_DEF ASB_DISCONNECT  #define DRBD_AFTER_SB_2P_DEF ASB_DISCONNECT  #define DRBD_RR_CONFLICT_DEF ASB_DISCONNECT +#define DRBD_ON_NO_DATA_DEF OND_IO_ERROR  #define DRBD_MAX_BIO_BVECS_MIN 0  #define DRBD_MAX_BIO_BVECS_MAX 128  #define DRBD_MAX_BIO_BVECS_DEF 0 -#define DRBD_DP_VOLUME_MIN 4 -#define DRBD_DP_VOLUME_MAX 1048576 -#define DRBD_DP_VOLUME_DEF 16384 +#define DRBD_C_PLAN_AHEAD_MIN  0 +#define DRBD_C_PLAN_AHEAD_MAX  300 +#define DRBD_C_PLAN_AHEAD_DEF  0 /* RS rate controller disabled by default */ -#define DRBD_DP_INTERVAL_MIN 1 -#define DRBD_DP_INTERVAL_MAX 600 -#define DRBD_DP_INTERVAL_DEF 5 +#define DRBD_C_DELAY_TARGET_MIN 1 +#define DRBD_C_DELAY_TARGET_MAX 100 +#define DRBD_C_DELAY_TARGET_DEF 10 -#define DRBD_RS_THROTTLE_TH_MIN 1 -#define DRBD_RS_THROTTLE_TH_MAX 600 -#define DRBD_RS_THROTTLE_TH_DEF 20 +#define DRBD_C_FILL_TARGET_MIN 0 +#define DRBD_C_FILL_TARGET_MAX (1<<20) /* 500MByte in sec */ +#define DRBD_C_FILL_TARGET_DEF 0 /* By default disabled -> controlled by delay_target */ -#define DRBD_RS_HOLD_OFF_TH_MIN 1 -#define DRBD_RS_HOLD_OFF_TH_MAX 6000 -#define DRBD_RS_HOLD_OFF_TH_DEF 100 +#define DRBD_C_MAX_RATE_MIN     250 /* kByte/sec */ +#define DRBD_C_MAX_RATE_MAX     (4 << 20) +#define DRBD_C_MAX_RATE_DEF     102400 + +#define DRBD_C_MIN_RATE_MIN     0 /* kByte/sec */ +#define DRBD_C_MIN_RATE_MAX     (4 << 20) +#define DRBD_C_MIN_RATE_DEF     4096  #undef RANGE  #endif diff --git a/include/linux/drbd_nl.h b/include/linux/drbd_nl.h index 5f042810a56..ade91107c9a 100644 --- a/include/linux/drbd_nl.h +++ b/include/linux/drbd_nl.h @@ -87,6 +87,12 @@ NL_PACKET(syncer_conf, 8,  	NL_STRING(      51,     T_MAY_IGNORE,   cpu_mask,       32)  	NL_STRING(	64,	T_MAY_IGNORE,	csums_alg,	SHARED_SECRET_MAX)  	NL_BIT(         65,     T_MAY_IGNORE,   use_rle) +	NL_INTEGER(	75,	T_MAY_IGNORE,	on_no_data) +	NL_INTEGER(	76,	T_MAY_IGNORE,	c_plan_ahead) +	NL_INTEGER(     77,	T_MAY_IGNORE,	c_delay_target) +	NL_INTEGER(     78,	T_MAY_IGNORE,	c_fill_target) +	NL_INTEGER(     79,	T_MAY_IGNORE,	c_max_rate) +	NL_INTEGER(     80,	T_MAY_IGNORE,	c_min_rate)  )  NL_PACKET(invalidate, 9, ) diff --git a/include/linux/dynamic_debug.h b/include/linux/dynamic_debug.h index bef3cda44c4..a90b3892074 100644 --- a/include/linux/dynamic_debug.h +++ b/include/linux/dynamic_debug.h @@ -83,7 +83,7 @@ static inline int ddebug_remove_module(const char *mod)  #define dynamic_pr_debug(fmt, ...)					\  	do { if (0) printk(KERN_DEBUG pr_fmt(fmt), ##__VA_ARGS__); } while (0) -#define dynamic_dev_dbg(dev, format, ...)				\ +#define dynamic_dev_dbg(dev, fmt, ...)					\  	do { if (0) dev_printk(KERN_DEBUG, dev, fmt, ##__VA_ARGS__); } while (0)  #endif diff --git a/include/linux/pci_ids.h b/include/linux/pci_ids.h index dad30734432..e4471b27c39 100644 --- a/include/linux/pci_ids.h +++ b/include/linux/pci_ids.h @@ -743,6 +743,7 @@  #define PCI_DEVICE_ID_HP_CISSC		0x3230  #define PCI_DEVICE_ID_HP_CISSD		0x3238  #define PCI_DEVICE_ID_HP_CISSE		0x323a +#define PCI_DEVICE_ID_HP_CISSF		0x323b  #define PCI_DEVICE_ID_HP_ZX2_IOC	0x4031  #define PCI_VENDOR_ID_PCTECH		0x1042  |