diff options
author | George Wilson <[email protected]> | 2019-07-28 21:13:56 -0400 |
---|---|---|
committer | Brian Behlendorf <[email protected]> | 2019-07-28 18:13:56 -0700 |
commit | 453bb4791e7d0479643ce340818106ab878b562b (patch) | |
tree | bb59b5f3c06d01e411fb612437f1ebb44053e0f7 | |
parent | 693c1fc478cc8118dd0168c4815c0ae3be41c9c3 (diff) |
Race between zfs-share and zfs-mount services
When a system boots the zfs-mount.service and the
zfs-share.service can start simultaneously. What may be
unclear is that sharing a filesystem will first mount
the filesystem if it's not already mounted. This means
that both service can race to mount the same fileystem.
This race can result in a SEGFAULT or EBUSY conditions.
This change explicitly defines the start ordering between the
two services such that the zfs-mount.service is solely
responsible for mounting filesystems eliminating the race
between "zfs mount -a" and "zfs share -a" commands.
Reviewed-by: Sebastien Roy <[email protected]>
Reviewed-by: Brian Behlendorf <[email protected]>
Signed-off-by: George Wilson <[email protected]>
Closes #9083
-rw-r--r-- | etc/systemd/system/zfs-share.service.in | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/etc/systemd/system/zfs-share.service.in b/etc/systemd/system/zfs-share.service.in index 75ff6e946..5f4ba411b 100644 --- a/etc/systemd/system/zfs-share.service.in +++ b/etc/systemd/system/zfs-share.service.in @@ -5,6 +5,7 @@ After=nfs-server.service nfs-kernel-server.service After=smb.service Before=rpc-statd-notify.service Wants=zfs-mount.service +After=zfs-mount.service PartOf=nfs-server.service nfs-kernel-server.service PartOf=smb.service |