Whamcloud - gitweb
LU-16518 ptlrpc: fix clang build errors
[fs/lustre-release.git] / lustre / include / lustre_nrs.h
index 00d0cdf..fd80e40 100644 (file)
@@ -63,7 +63,16 @@ enum ptlrpc_nrs_ctl {
         * Policies can start using opcodes from this value and onwards for
         * their own purposes; the assigned value itself is arbitrary.
         */
-       PTLRPC_NRS_CTL_1ST_POL_SPEC = 0x20,
+       PTLRPC_NRS_CTL_POL_SPEC_01 = 0x20,
+       PTLRPC_NRS_CTL_POL_SPEC_02,
+       PTLRPC_NRS_CTL_POL_SPEC_03,
+       PTLRPC_NRS_CTL_POL_SPEC_04,
+       PTLRPC_NRS_CTL_POL_SPEC_05,
+       PTLRPC_NRS_CTL_POL_SPEC_06,
+       PTLRPC_NRS_CTL_POL_SPEC_07,
+       PTLRPC_NRS_CTL_POL_SPEC_08,
+       PTLRPC_NRS_CTL_POL_SPEC_09,
+       PTLRPC_NRS_CTL_POL_SPEC_10
 };
 
 /**
@@ -269,16 +278,16 @@ enum nrs_policy_flags {
         * service. The flag cannot be used on policies that use
         * \e PTLRPC_NRS_FL_REG_EXTERN
         */
-       PTLRPC_NRS_FL_FALLBACK          = (1 << 0),
+       PTLRPC_NRS_FL_FALLBACK          = BIT(0),
        /**
         * Start policy immediately after registering.
         */
-       PTLRPC_NRS_FL_REG_START         = (1 << 1),
+       PTLRPC_NRS_FL_REG_START         = BIT(1),
        /**
         * This is a policy registering from a module different to the one NRS
         * core ships in (currently ptlrpc).
         */
-       PTLRPC_NRS_FL_REG_EXTERN        = (1 << 2),
+       PTLRPC_NRS_FL_REG_EXTERN        = BIT(2),
 };
 
 /**
@@ -289,8 +298,8 @@ enum nrs_policy_flags {
  * in a service.
  */
 enum ptlrpc_nrs_queue_type {
-       PTLRPC_NRS_QUEUE_REG    = (1 << 0),
-       PTLRPC_NRS_QUEUE_HP     = (1 << 1),
+       PTLRPC_NRS_QUEUE_REG    = BIT(0),
+       PTLRPC_NRS_QUEUE_HP     = BIT(1),
        PTLRPC_NRS_QUEUE_BOTH   = (PTLRPC_NRS_QUEUE_REG | PTLRPC_NRS_QUEUE_HP)
 };
 
@@ -672,9 +681,22 @@ enum {
 };
 
 #include <lustre_nrs_fifo.h>
+/**
+ * Binary heap node.
+ *
+ * Objects of this type are embedded into objects of the ordered set that is to
+ * be maintained by a \e struct binheap instance.
+ */
+struct binheap_node {
+       /** Index into the binary tree */
+       unsigned int    chn_index;
+};
+#ifdef HAVE_SERVER_SUPPORT
 #include <lustre_nrs_tbf.h>
 #include <lustre_nrs_crr.h>
 #include <lustre_nrs_orr.h>
+#endif /* HAVE_SERVER_SUPPORT */
+#include <lustre_nrs_delay.h>
 
 /**
  * NRS request
@@ -700,7 +722,7 @@ struct ptlrpc_nrs_request {
        unsigned                        nr_enqueued:1;
        unsigned                        nr_started:1;
        unsigned                        nr_finalized:1;
-       struct cfs_binheap_node         nr_node;
+       struct binheap_node             nr_node;
 
        /**
         * Policy-specific fields, used for determining a request's scheduling
@@ -711,6 +733,7 @@ struct ptlrpc_nrs_request {
                 * Fields for the FIFO policy
                 */
                struct nrs_fifo_req     fifo;
+#ifdef HAVE_SERVER_SUPPORT
                /**
                 * CRR-N request defintion
                 */
@@ -721,6 +744,11 @@ struct ptlrpc_nrs_request {
                 * TBF request definition
                 */
                struct nrs_tbf_req      tbf;
+#endif /* HAVE_SERVER_SUPPORT */
+               /**
+                * Fields for the delay policy
+                */
+               struct nrs_delay_req    delay;
        } nr_u;
        /**
         * Externally-registering policies may want to use this to allocate