Bug#676604: nfs-kernel-server: fails to start if exports are only defined in /etc/exports.d/*.exports
tags 676604 patch
thanks
On Fri, Jun 08, 2012 at 12:06:15AM -0700, Vagrant Cascadian wrote:
> After upgrading nfs-kernel-server, it fails to start, complaining that there are no exports.
>
> service nfs-kernel-server start
> Not starting NFS kernel daemon: no exports. ... (warning).
>
> I do not have any changes to /etc/exports, it is true, but do have exports
> defined in /etc/exports.d/*.exports, and these are valid exports.
>
> By commenting out the check for an empty /etc/exports (introduced to resolve
> #673798) in /etc/init.d/nfs-kernel-server, nfsd starts and all is well again:
>
> if [ -f /etc/exports ] # && grep -q '^[[:space:]]*[^#]*/' /etc/exports
>
> This check should probably be either be reverted, or it should at least iterate
> it through all the /etc/exports.d/*.exports files before deciding there are no
> exports.
patch implementing the latter follows:
--- a/init.d/nfs-kernel-server
+++ b/init.d/nfs-kernel-server
@@ -60,7 +60,13 @@ do_mount() {
# See how we were called.
case "$1" in
start)
- if [ -f /etc/exports ] && grep -q '^[[:space:]]*[^#]*/' /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
live well,
vagrant
Reply to: