** Description changed:

  == SRU Xenial ==
  
  [Justification]
  
  Currently package zfsutils-linux contains systemd target file 
/lib/systemd/system/zfs.target that specifies following dependencies:
  Requires=zfs-mount.service
  Requires=zfs-share.service
  Wants=zed.service
  
  zfs-share.service is not essential in setups where file sharing is not
  used, or when it is configured without the use of the zfs utility. The
  user may therefore choose to mask this service. However, doing so has an
  unexpected and confusing effect, preventing zfs from starting on boot at
  all. This is because zfs.target is the only zfs-related unit that is
  wanted by multi-user.target, and if one of its required services is
  masked, zfs.target is skipped, together with zfs-mount.service. A
  solution is to replace "Requires=zfs-share.service" with "Wants=zfs-
  share.service".
  
  [Testcase]
  Steps to reproduce:
  systemctl mask zfs-share.service
  reboot
  
  Expected results:
  Module zfs is loaded
  zfs-mount.service is active and ZFS filesystems are mounted
  ZFS filesystems are not shared
  
  Observed results:
  Module zfs is not loaded
  ZFS filesystems are not mounted
  zpool status produces an error:
  "The ZFS modules are not loaded.
  Try running '/sbin/modprobe zfs' as root to load them."
  
  With the fix, the modules are loaded and zfs filesystems are mounted
  
+ Without the fix:
+ 
+ 
+ With the fix:
+ $ systemctl status zfs-share.service
+ 
+ ● zfs-share.service - ZFS file system shares
+    Loaded: loaded (/lib/systemd/system/zfs-share.service; enabled; vendor 
preset
+    Active: active (exited) since Wed 2017-05-31 14:22:31 BST; 11s ago
+   Process: 2483 ExecStart=/sbin/zfs share -a (code=exited, status=0/SUCCESS)
+   Process: 2476 ExecStartPre=/bin/rm -f /etc/dfs/sharetab (code=exited, 
status=0
+  Main PID: 2483 (code=exited, status=0/SUCCESS)
+     Tasks: 0 (limit: 4915)
+    Memory: 0B
+       CPU: 0
+    CGroup: /system.slice/zfs-share.service
+ 
+ 
  [Fix]
  A solution is to replace "Requires=zfs-share.service" with 
"Wants=zfs-share.service".
  
  [Regression Potential]
  Minimal, this affects the start up of a service that should be starting and 
currently isn't. Limited to just this specific scenario.
  
  ---------------------
  
- 
  $ lsb_release -rd
  Description:    Ubuntu 16.04.1 LTS
  Release:        16.04
  
  $ apt-cache policy zfsutils-linux
  zfsutils-linux:
    Installed: 0.6.5.6-0ubuntu10

** Description changed:

  == SRU Xenial ==
  
  [Justification]
  
  Currently package zfsutils-linux contains systemd target file 
/lib/systemd/system/zfs.target that specifies following dependencies:
  Requires=zfs-mount.service
  Requires=zfs-share.service
  Wants=zed.service
  
  zfs-share.service is not essential in setups where file sharing is not
  used, or when it is configured without the use of the zfs utility. The
  user may therefore choose to mask this service. However, doing so has an
  unexpected and confusing effect, preventing zfs from starting on boot at
  all. This is because zfs.target is the only zfs-related unit that is
  wanted by multi-user.target, and if one of its required services is
  masked, zfs.target is skipped, together with zfs-mount.service. A
  solution is to replace "Requires=zfs-share.service" with "Wants=zfs-
  share.service".
  
  [Testcase]
  Steps to reproduce:
  systemctl mask zfs-share.service
  reboot
  
  Expected results:
  Module zfs is loaded
  zfs-mount.service is active and ZFS filesystems are mounted
  ZFS filesystems are not shared
  
  Observed results:
  Module zfs is not loaded
  ZFS filesystems are not mounted
  zpool status produces an error:
  "The ZFS modules are not loaded.
  Try running '/sbin/modprobe zfs' as root to load them."
  
  With the fix, the modules are loaded and zfs filesystems are mounted
  
- Without the fix:
- 
- 
- With the fix:
- $ systemctl status zfs-share.service
- 
- ● zfs-share.service - ZFS file system shares
-    Loaded: loaded (/lib/systemd/system/zfs-share.service; enabled; vendor 
preset
-    Active: active (exited) since Wed 2017-05-31 14:22:31 BST; 11s ago
-   Process: 2483 ExecStart=/sbin/zfs share -a (code=exited, status=0/SUCCESS)
-   Process: 2476 ExecStartPre=/bin/rm -f /etc/dfs/sharetab (code=exited, 
status=0
-  Main PID: 2483 (code=exited, status=0/SUCCESS)
-     Tasks: 0 (limit: 4915)
-    Memory: 0B
-       CPU: 0
-    CGroup: /system.slice/zfs-share.service
- 
- 
  [Fix]
  A solution is to replace "Requires=zfs-share.service" with 
"Wants=zfs-share.service".
  
  [Regression Potential]
  Minimal, this affects the start up of a service that should be starting and 
currently isn't. Limited to just this specific scenario.
  
  ---------------------
  
  $ lsb_release -rd
  Description:    Ubuntu 16.04.1 LTS
  Release:        16.04
  
  $ apt-cache policy zfsutils-linux
  zfsutils-linux:
    Installed: 0.6.5.6-0ubuntu10

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

Title:
  zfs.target should not require zfs-share.service

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/zfs-linux/+bug/1614789/+subscriptions

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

Reply via email to