Whamcloud - gitweb
LU-137 osd-ldiskfs: pass through resize ioctl
[fs/lustre-release.git] / lustre / include / lustre_nrs_crr.h
index f057ec7..67166e7 100644 (file)
  * CRR-N, Client Round Robin over NIDs
  * @{
  */
+#include <libcfs/linux/linux-hash.h>
 
 /**
  * private data structure for CRR-N NRS
  */
 struct nrs_crrn_net {
        struct ptlrpc_nrs_resource      cn_res;
-       struct cfs_binheap             *cn_binheap;
-       struct cfs_hash                *cn_cli_hash;
+       struct binheap         *cn_binheap;
+       /* CRR-N NRS - NID hash body */
+       struct rhashtable               cn_cli_hash;
        /**
         * Used when a new scheduling round commences, in order to synchronize
         * all clients with the new round number.
@@ -68,8 +70,8 @@ struct nrs_crrn_net {
  */
 struct nrs_crrn_client {
        struct ptlrpc_nrs_resource      cc_res;
-       struct hlist_node               cc_hnode;
-       lnet_nid_t                      cc_nid;
+       struct rhash_head               cc_rhead;
+       struct lnet_nid                 cc_nid;
        /**
         * The round number against which this client is currently scheduling
         * requests.
@@ -110,17 +112,14 @@ struct nrs_crrn_req {
 
 /**
  * CRR-N policy operations.
+ *
+ * Read the RR quantum size of a CRR-N policy.
  */
-enum nrs_ctl_crr {
-       /**
-        * Read the RR quantum size of a CRR-N policy.
-        */
-       NRS_CTL_CRRN_RD_QUANTUM = PTLRPC_NRS_CTL_1ST_POL_SPEC,
-       /**
-        * Write the RR quantum size of a CRR-N policy.
-        */
-       NRS_CTL_CRRN_WR_QUANTUM,
-};
+#define NRS_CTL_CRRN_RD_QUANTUM PTLRPC_NRS_CTL_POL_SPEC_01
+/**
+ * Write the RR quantum size of a CRR-N policy.
+ */
+#define NRS_CTL_CRRN_WR_QUANTUM PTLRPC_NRS_CTL_POL_SPEC_02
 
 /** @} CRR-N */
 #endif