summarylogtreecommitdiffstats
path: root/nfs-utils-rdma-server
diff options
context:
space:
mode:
authorJames Harvey2015-08-02 07:51:55 +0000
committerJames Harvey2015-08-02 07:51:55 +0000
commit400242d0249dc48363006de37037dcab881da3f5 (patch)
treecf7fe13ae309cbbf2acd6e1d8cb32692396df1aa /nfs-utils-rdma-server
downloadaur-400242d0249dc48363006de37037dcab881da3f5.tar.gz
Initial import
Diffstat (limited to 'nfs-utils-rdma-server')
-rwxr-xr-xnfs-utils-rdma-server45
1 files changed, 45 insertions, 0 deletions
diff --git a/nfs-utils-rdma-server b/nfs-utils-rdma-server
new file mode 100755
index 000000000000..b56e54185466
--- /dev/null
+++ b/nfs-utils-rdma-server
@@ -0,0 +1,45 @@
+#!/bin/bash
+# Written by James Harvey <jamespharvey20@gmail.com>
+# Released under GPL2 license
+#
+# Load kernel module for NFS server using RDMA, and configure RDMA port
+#
+# This is usually run automatically by systemd, after rdma.service starts
+#
+
+CONFIG=/etc/nfs-utils-rdma-server.conf
+
+if [[ $EUID -ne 0 ]]; then
+ echo "nfs-utils-rdma-server must be run as root" 1>&2
+ exit 1
+fi
+
+if ! [ -f $CONFIG ]; then
+ echo "$CONFIG not found"
+ exit 2
+fi
+
+. $CONFIG
+
+if ! [ -n "${NFS_UTILS_RDMA_SERVER_PORT}" ]; then
+ echo "You need to fix $CONFIG"
+ echo "NFS_UTILS_RDMA_SERVER_PORT is not set"
+ exit 1
+fi
+
+numerical_regex='^[0-9]+$'
+if ! [[ ${NFS_UTILS_RDMA_SERVER_PORT} =~ $numerical_regex ]]; then
+ echo "You need to fix $CONFIG"
+ echo "NFS_UTILS_RDMA_SERVER_PORT=${NFS_UTILS_RDMA_SERVER_PORT} - Acceptable values are only integers"
+ exit 2
+fi
+
+modprobe svcrdma
+echo "Attempted loading kernel module svcrdma."
+
+echo "rdma ${NFS_UTILS_RDMA_SERVER_PORT}" > /proc/fs/nfsd/portlist
+echo "Attempted setting rdma port to ${NFS_UTILS_RDMA_SERVER_PORT}."
+
+unset NFS_UTILS_RDMA_SERVER_PORT
+
+exit 0