** Description changed:

  Reproduced in Bionic and Focal, packages 1:1.3.4-2.1ubuntu5.2 and
  1:1.3.4-2.5ubuntu3 respectively.
  
  Steps to reproduce:
  
  1) Set up a ISCSI client to a 1GB+ volume, mount it in /data and set fstab to 
mount at boot
  2) Create a folder in /data like /data/dir1 and set up /etc/exports to export 
it
  3) Reboot
  4) Notice nfs-server does not start. Check journalctl and see it was because 
of "exportfs -r" returning -1 because /data/dir1 is not available.
  
  In Xenial (1:1.2.8-9ubuntu12.2), exportfs always returns 0, so this bug
  is not present there.
  
  This can be workaroundable in two ways:
  
  1) Editing nfs-server.service and adding "-" in
  "ExecStartPre=/usr/sbin/exportfs -r" to be
  "ExecStartPre=-/usr/sbin/exportfs -r". This will retain xenial behavior.
  
  2) Editing nfs-server.service and removing "Before=remote-fs-pre.target"
  and adding "RequiresMountsFor=/data". This will cause the systemd
  service load ordering to change, and nfs-server will wait for /data to
  be available.
  
  #2 is the upstream approach with commit [0] where this new comment
  identifies mount dependencies and automatically sets up
  RequiresMountFor.
  
  [0] http://git.linux-nfs.org/?p=steved/nfs-
  utils.git;a=commitdiff;h=4776bd0599420f9d073c9e2601ed438062dccd19
+ 
+ =======================================================================
+ 
+ [Impact]
+ 
+ Users attempting to export folders from iSCSI or any remote mounted
+ filesystem will experience their exports not being available at system
+ start up, requiring workarounds or manual intervention.
+ 
+ [Test case]
+ 
+ 1. Reproducing the bug:
+ 
+ 1a. Set up a ISCSI client to a 1GB+ volume
+ 1b. Format /dev/<device> using mkfs.xfs
+ 1c. Mount it in /data and set fstab as follows to mount at boot
+ 
+ UUID="<uuid_from_blkid>" /data xfs defaults,auto,_netdev 0 0
+ 
+ 1d. Create a folder in /data like /data/dir1 and set permissions as
+ follows
+ 
+ chmod 777 /data/dir1
+ chown nobody:nogroup /data/dir1
+ 
+ 1e. Set up /etc/exports as follows to export it
+ 
+ data/dir1 *(rw,async,root_squash,subtree_check)
+ 
+ 1f. Reboot
+ 1g. Notice nfs-server does not start. Running "showmount -e" displays error.
+ 
+ 2. No cleanup necessary
+ 
+ 3. Install the updated package that contains the fix
+ 
+ 4. Confirming the fix:
+ 
+ 4a. Reboot
+ 4b. Notice nfs-server starts sucessfully, "showmount -e" displays the 
exports. 
+ 
+ 
+ [Regression Potential]
+ 
+ Regression potential is minimal. The dependency commit only moves code
+ around and the actual fix only introduces an external systemd-generator
+ without changing actual pre-existing code.
+ 
+ I tested and confirmed that the fix introduced [0] also covers the fix
+ removed [1], so there should not be any regression on this particular
+ code change as well.
+ 
+ [1] http://git.linux-nfs.org/?p=steved/nfs-
+ utils.git;a=commitdiff;h=1e41488f428cd36b200b48b84d31446e38dfdc50
+ 
+ 
+ [Other Info]

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1871214

Title:
  [SRU] nfsd doesn't start if exports depend on mount

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/nfs-utils/+bug/1871214/+subscriptions

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to