diff options
-rw-r--r-- | .SRCINFO | 18 | ||||
-rw-r--r-- | PKGBUILD | 23 | ||||
-rwxr-xr-x | nfs-utils-rdma-client | 18 | ||||
-rwxr-xr-x | nfs-utils-rdma-client.install | 26 | ||||
-rw-r--r-- | nfs-utils-rdma-client.service | 15 |
5 files changed, 100 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO new file mode 100644 index 000000000000..aed64e0c2328 --- /dev/null +++ b/.SRCINFO @@ -0,0 +1,18 @@ +pkgbase = nfs-utils-rdma-client + pkgdesc = Load kernel modules for NFS client using RDMA + pkgver = 1.00 + pkgrel = 1 + arch = any + license = GPL2 + depends = rdma + depends = nfs-utils + source = nfs-utils-rdma-client + source = nfs-utils-rdma-client.service + source = nfs-utils-rdma-client.install + md5sums = 8652506b9507de4b53c44655fb9bcb45 + md5sums = b56ee8cb993dbe9432430a6fabb7847b + md5sums = f0f4895f0d64178312da50e7b27a1617 + +pkgname = nfs-utils-rdma-client + install = nfs-utils-rdma-client.install + diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 000000000000..4ee5c8f6dc8a --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,23 @@ +# Maintainer: James Harvey <jamespharvey20@gmail.com> +# * Namcap warns that dependency rdma and nfs-utils are not needed, but nfs-utils-rdma-client requires IPoIB, and the IPoIB kernel modules are loaded by the rdma package, and requires nfs-utils, or there's no kernel module to load. + +pkgname=nfs-utils-rdma-client +pkgver=1.00 +pkgrel=1 +pkgdesc='Load kernel modules for NFS client using RDMA' +arch=('any') +license=('GPL2') +depends=('rdma' 'nfs-utils') +source=('nfs-utils-rdma-client' + 'nfs-utils-rdma-client.service' + 'nfs-utils-rdma-client.install') +md5sums=('8652506b9507de4b53c44655fb9bcb45' + 'b56ee8cb993dbe9432430a6fabb7847b' + 'f0f4895f0d64178312da50e7b27a1617') + +package() { + install=nfs-utils-rdma-client.install + + install -Dm755 "${srcdir}/nfs-utils-rdma-client" "${pkgdir}/usr/bin/nfs-utils-rdma-client" + install -Dm644 "${srcdir}/nfs-utils-rdma-client.service" "${pkgdir}/etc/systemd/system/nfs-utils-rdma-client.service" +} diff --git a/nfs-utils-rdma-client b/nfs-utils-rdma-client new file mode 100755 index 000000000000..50dcd6361b6f --- /dev/null +++ b/nfs-utils-rdma-client @@ -0,0 +1,18 @@ +#!/bin/bash +# Written by James Harvey <jamespharvey20@gmail.com> +# Released under GPL2 license +# +# Load kernel module for NFS client using RDMA +# +# This is usually run automatically by systemd, after rdma.service starts +# + +if [[ $EUID -ne 0 ]]; then + echo "nfs-utils-rdma-server must be run as root" 1>&2 + exit 1 +fi + +modprobe xprtrdma +echo "Attempted loading kernel module xprtrdma." + +exit 0 diff --git a/nfs-utils-rdma-client.install b/nfs-utils-rdma-client.install new file mode 100755 index 000000000000..7bbca4db85e5 --- /dev/null +++ b/nfs-utils-rdma-client.install @@ -0,0 +1,26 @@ +post_install() { + echo "nfs-utils-rdma-client + + After nfs-utils-rdma-server is installed, configured, and running on the + server, run: + + mount -t nfs4 -o rdma,port=<server port>,vers=4.0 + <ip address or name>:/<share name> /<mount point> + server port: + Use the value in the server's /etc/nfs-utils-rdma-server.conf + (default 20049) + ip address or name: + Using an ip address is recommended, since you likely have two routes to + the server, this forces it to use the RDMA-capable interface. + NOTE: The ip address is used for basic communication. The actual file + data transfers happen using RDMA. + share name: + The full path of the directory shared on the server. i.e. /home/user + mount point: + The local mount point you want to use + NOTE: If you omit "vers=4.0", it will default to using v4.2. v4.1 and + v4.2 do not yet support RDMA, and you will experience undefined + behavior - likely the mount will look complete, but when you use + it (even cd or ls), the command will hang. +" +} diff --git a/nfs-utils-rdma-client.service b/nfs-utils-rdma-client.service new file mode 100644 index 000000000000..9c1e8f13a52c --- /dev/null +++ b/nfs-utils-rdma-client.service @@ -0,0 +1,15 @@ +[Unit] +Description=Load kernel module for NFS client using RDMA +RefuseManualStop=true +DefaultDependencies=false +Conflicts=emergency.target emergency.service +Before=remote-fs-pre.target +After=network.target + +[Service] +Type=oneshot +RemainAfterExit=yes +ExecStart=/usr/bin/nfs-utils-rdma-client + +[Install] +WantedBy=sysinit.target |