};
#define NRS_POL_NAME_MAX 16
+#define NRS_POL_ARG_MAX 16
struct ptlrpc_nrs_pol_desc;
*/
char pi_name[NRS_POL_NAME_MAX];
/**
+ * Policy argument
+ */
+ char pi_arg[NRS_POL_ARG_MAX];
+ /**
* Current policy state
*/
enum ptlrpc_nrs_pol_state pi_state;
*/
long pol_ref;
/**
+ * Human-readable policy argument
+ */
+ char pol_arg[NRS_POL_ARG_MAX];
+ /**
* The NRS head this policy has been created at
*/
struct ptlrpc_nrs *pol_nrs;
#include <lustre_nrs_tbf.h>
#include <lustre_nrs_crr.h>
#include <lustre_nrs_orr.h>
+#include <lustre_nrs_delay.h>
/**
* NRS request
unsigned nr_enqueued:1;
unsigned nr_started:1;
unsigned nr_finalized:1;
- cfs_binheap_node_t nr_node;
+ struct cfs_binheap_node nr_node;
/**
* Policy-specific fields, used for determining a request's scheduling
* TBF request definition
*/
struct nrs_tbf_req tbf;
+ /**
+ * Fields for the delay policy
+ */
+ struct nrs_delay_req delay;
} nr_u;
/**
* Externally-registering policies may want to use this to allocate