nfsd won't start unless exports has content

Bug #1052264 reported by pdf
30
This bug affects 6 people
Affects Status Importance Assigned to Milestone
nfs-utils (Ubuntu)
Confirmed
Undecided
Unassigned

Bug Description

Since the following change:

--- a/debian/nfs-kernel-server.init 2012-09-18 11:03:38.389491693 +1000
+++ b/debian/nfs-kernel-server.init 2012-09-18 10:54:36.317492001 +1000
@@ -61,7 +61,13 @@
 # See how we were called.
 case "$1" in
   start)
- if [ -f /etc/exports ]
+ export_files="/etc/exports"
+ for file in /etc/exports.d/*.exports ; do
+ if [ -f "$file" ]; then
+ export_files="$export_files $file"
+ fi
+ done
+ if [ -f /etc/exports ] && grep -q '^[[:space:]]*[^#]*/' $export_files
        then
                do_modprobe nfsd

It is no longer possible to start nfsd without content in /etc/exports (or /etc/exports.d/*), making it impossible to create temporary exports (ie - using exportfs) if the host does not have permanent exports. This also breaks other alternative management tools that eschew /etc/exports, like ZFS.

ProblemType: Bug
DistroRelease: Ubuntu 12.10
Package: nfs-kernel-server 1:1.2.6-3ubuntu1
ProcVersionSignature: Ubuntu 3.5.0-14.19-generic 3.5.3
Uname: Linux 3.5.0-14-generic x86_64
NonfreeKernelModules: zfs zcommon znvpair zavl zunicode
ApportVersion: 2.5.2-0ubuntu1
Architecture: amd64
Date: Tue Sep 18 10:47:08 2012
InstallationMedia: Ubuntu-Server 12.10 "Quantal Quetzal" - Alpha amd64 (20120903.2)
ProcEnviron:
 LANGUAGE=en_AU:en
 TERM=xterm-256color
 PATH=(custom, no user)
 LANG=en_AU.UTF-8
 SHELL=/bin/bash
SourcePackage: nfs-utils
UpgradeStatus: No upgrade log present (probably fresh install)

Revision history for this message
pdf (pdffs) wrote :
Revision history for this message
pdf (pdffs) wrote :

I can't see from the changelogs what this was meant to fix, but users already have methods of disabling nfsd if they don't want it to start, so this change in behaviour doesn't seem to be necessary, and breaks expected behaviour.

I can see two ways of solving this, either by simply deleting the `grep -q '^[[:space:]]*[^#]*/' $export_files` test (preferable since it restores expected behaviour), or by introducing an additional switch in /etc/default/nfs-kernel-server to control whether nfsd is started with empty exports (this could default to on to restore expected behaviour, but this still seems superfluous, since the user can simply disable the init job using existing mechanisms).

description: updated
Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in nfs-utils (Ubuntu):
status: New → Confirmed
Revision history for this message
Rene Schickbauer (rene-schickbauer) wrote :

I have that problem with zfsonlinux.

There should be a config option to force a start even if /etc/exports is empty.

Currently, i have two choices: Either fix the script locally (which will make problems come update time) or add some useless share like /media/helpubuntubrokemynfs (which wastes resources).

I agree with the original bug reporter that the correct behavior is to start nfs-kernel-server, no matter the state of /etc/exports.

Revision history for this message
pdf (pdffs) wrote :

Still a problem in 14.04.

tags: added: trusty
Revision history for this message
Joel Nelson (joelnn) wrote :

This bit me with zfs as well.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.