Skip to contentSkip to conversation

nfs-utils: fix to start nfs-server correctly in systemd

PATCH New Chen Qi 1 participant 2 messages Jul 8, 2015

lore
Share & tools
lore

Chen Qi

author
#0 lore raw

v2 cover nfs-utils: fix to start nfs-server correctly in systemd

The following changes since commit df6ddc4bf9795212fda87f9d401893eb254074da:

file: fix long-options (2015-07-07 23:57:14 +0100)

are available in the git repository at:

git://git.openembedded.org/openembedded-core-contrib ChenQi/nfs-utils-systemd
http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=ChenQi/nfs-utils-systemd

Chen Qi (1):
nfs-utils: fix to start nfs-server correctly in systemd

 .../nfs-utils/nfs-utils/proc-fs-nfsd.mount                     |  8 ++++++++
 meta/recipes-connectivity/nfs-utils/nfs-utils_1.3.1.bb         | 10 ++++++++++
 2 files changed, 18 insertions(+)
 create mode 100644 meta/recipes-connectivity/nfs-utils/nfs-utils/proc-fs-nfsd.mount
Signature · 1 line
1.9.1
author
#1 lore raw

PATCH v2 1/1 nfs-utils: fix to start nfs-server correctly in systemd

Add /etc/modules-load.d/nfsd.conf so that the system loads nfsd at start-up.

Add proc-fs-nfsd.mount systemd unit file because it's needed for nfs server to start correctly.

After this change, in a systemd based image, we can use `systemctl start nfs-server' to start the nfs server and things would work correctly.

---
 .../nfs-utils/nfs-utils/proc-fs-nfsd.mount                     |  8 ++++++++
 meta/recipes-connectivity/nfs-utils/nfs-utils_1.3.1.bb         | 10 ++++++++++
 2 files changed, 18 insertions(+)
 create mode 100644 meta/recipes-connectivity/nfs-utils/nfs-utils/proc-fs-nfsd.mount
meta/recipes-connectivity/nfs-utils/nfs-utils/proc-fs-nfsd.mount new file +8 -0
new file mode 100644
index 0000000..630801b
@@ -0,0 +1,8 @@
+[Unit]
+Description=NFSD configuration filesystem
+After=systemd-modules-load.service
+
+[Mount]
+What=nfsd
+Where=/proc/fs/nfsd
+Type=nfsd
meta/recipes-connectivity/nfs-utils/nfs-utils_1.3.1.bb +10 -0
index 0bcd65e..6da8509 100644
@@ -28,6 +28,7 @@ SRC_URI = "${KERNELORG_MIRROR}/linux/utils/nfs-utils/${PV}/nfs-utils-${PV}.tar.x
            file://nfs-server.service \
            file://nfs-mountd.service \
            file://nfs-statd.service \
+           file://proc-fs-nfsd.mount \
            file://nfs-utils-Do-not-pass-CFLAGS-to-gcc-while-building.patch \
            file://nfs-utils-debianize-start-statd.patch \
 "
@@ -87,6 +88,8 @@ FILES_${PN}-client = "${base_sbindir}/*mount.nfs* ${sbindir}/*statd \
 FILES_${PN}-stats = "${sbindir}/mountstats ${sbindir}/nfsiostat"
 RDEPENDS_${PN}-stats = "python"
 
+FILES_${PN} += "${systemd_unitdir}"
+
 # Make clean needed because the package comes with
 # precompiled 64-bit objects that break the build
 do_compile_prepend() {
@@ -108,6 +111,13 @@ do_install_append () {
 	sed -i -e 's,@SBINDIR@,${sbindir},g' \
 		-e 's,@SYSCONFDIR@,${sysconfdir},g' \
 		${D}${systemd_unitdir}/system/*.service
+	if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
+	    install -d ${D}${sysconfdir}/modules-load.d
+	    echo "nfsd" > ${D}${sysconfdir}/modules-load.d/nfsd.conf
+	    install -m 0644 ${WORKDIR}/proc-fs-nfsd.mount ${D}${systemd_unitdir}/system/
+	    install -d ${D}${systemd_unitdir}/system/sysinit.target.wants/
+	    ln -sf ../proc-fs-nfsd.mount ${D}${systemd_unitdir}/system/sysinit.target.wants/proc-fs-nfsd.mount
+	fi
 
 	# kernel code as of 3.8 hard-codes this path as a default
 	install -d ${D}/var/lib/nfs/v4recovery
Signature · 1 line
1.9.1