LU-398 ptlrpc: Add the NRS CRR-N policy

The CRR-N (Client-based Round Robin over NIDs) policy batch-schedules
all types of RPCs in a Round Robin manner according to the NID of the
client that generated the RPC; the maximum size of the batches is
configurable via interaction with lprocfs. The policy aims to provide
for better resource utilization across the cluster, and to help
shorten completion times of jobs in some cases by distributing
available bandwidth more evenly across client nodes.

Signed-off-by: Nikitas Angelinas <nikitas_angelinas@xyratex.com>
Co-authored-by: Liang Zhen <liang@whamcloud.com>
Change-Id: Ie91ee277fc95564908b20fd0d539a274089657ed
Oracle-bug-id: b=13634
Xyratex-bug-id: MRP-73
Reviewed-on: http://review.whamcloud.com/4937
Tested-by: Hudson
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: Liang Zhen <liang.zhen@intel.com>
Reviewed-by: Lai Siyao <lai.siyao@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
LU-2990 osd-zfs: locate cursor to specified pos via load API

There was defect for zfs-based backend when traverse directory:
the dt_iteration API ::load() did not locate the cursor to the
specified position, then caused non-first directory readpage
RPC obtained repeated entries, and then caused readdir() loop
or unexpected dir hash collision.

Signed-off-by: Fan Yong <fan.yong@intel.com>
Change-Id: I9c159f0f80677590869246dd9f30f0dfb9cc2fbc
Reviewed-on: http://review.whamcloud.com/5894
Tested-by: Hudson
Reviewed-by: Li Wei <wei.g.li@intel.com>
Reviewed-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>