#31 — zsf /home share not ready on time while auto-login with gdm
| State | Resolved |
|---|---|
| Version: | 0.6.0 |
| Area | Functionality |
| Issue type | Bug |
| Severity | Medium |
| Submitted by | (anonymous) |
| Submitted on | Mar 01, 2010 |
| Responsible | Seth Heeren |
| Target release: | 0.7.0 |
Last modified on
Sep 19, 2010
by
Seth Heeren
Hello zfs-users
I guess zfs-fuse just became the victim of the newly introduced and fast upstart boot mechanism :)
- I created a zfs mirror on /home of my testing environment (Lucid Lynx Server Edition/Alpha3/i386)
- changed gdm to auto login (no timeout)
- reboot and the share won't come up, so /home is empty
- changed gdm to auto login with timeout 10 seconds
- reboot and /home is there - up and running just fine
This sounds like a timing problem: the share is not ready yet but gdm already tries to access /home
It won't happen if you disable auto-login altogether or switch to a few seconds delayed (timed) auto-login
Maybe you could introduce an upstart dependency between zfs-fuse daemon and gdm, so gdm will wait for the zfs-fuse to be ready before it proceeds any further.
I guess zfs-fuse just became the victim of the newly introduced and fast upstart boot mechanism :)
- I created a zfs mirror on /home of my testing environment (Lucid Lynx Server Edition/Alpha3/i386)
- changed gdm to auto login (no timeout)
- reboot and the share won't come up, so /home is empty
- changed gdm to auto login with timeout 10 seconds
- reboot and /home is there - up and running just fine
This sounds like a timing problem: the share is not ready yet but gdm already tries to access /home
It won't happen if you disable auto-login altogether or switch to a few seconds delayed (timed) auto-login
Maybe you could introduce an upstart dependency between zfs-fuse daemon and gdm, so gdm will wait for the zfs-fuse to be ready before it proceeds any further.
- Steps to reproduce:
- zfs create -o casesensitivity=mixed -o nbmand=on zpool/home
zfs set mountpoint=/home zpool/home
reboot
cat /etc/gdm/custom.conf
[daemon]
AutomaticLoginEnable=true
AutomaticLogin=<enter name of your auto-login user>
TimedLoginEnable=false
TimedLogin=<enter name of your timed auto-login user>
TimedLoginDelay=10
Now switch from AutomaticLogin enabled to TimedLogin enabled (disable the other one respectively) to see the effect and check with mount -l whether the share is available or not.
Added by
Seth Heeren
on
Mar 01, 2010 04:36 AM
Issue state:
unconfirmed → open
Responsible manager:
(UNASSIGNED) → sgheeren
I recognize the behaviour.
In principle the same problem exists with e.g. autofs and possibly other services
Currently, zfs-fuse project does _not_ support or maintain any upstart scripts. However, for one thing it has been on my wishlist for a while.
If you could find some time to contribute scripts in this area, that would be greatly appreciated. Otherwise, I promise I will publish mine _when they are ready_. Bear in mind, I can only spend limited time on zfs-fuse, so if any issues of more importance come up, this will stay on the bottom of the pile.
Hope that helps,
Seth
In principle the same problem exists with e.g. autofs and possibly other services
Currently, zfs-fuse project does _not_ support or maintain any upstart scripts. However, for one thing it has been on my wishlist for a while.
If you could find some time to contribute scripts in this area, that would be greatly appreciated. Otherwise, I promise I will publish mine _when they are ready_. Bear in mind, I can only spend limited time on zfs-fuse, so if any issues of more importance come up, this will stay on the bottom of the pile.
Hope that helps,
Seth
Added by
(anonymous)
on
Apr 23, 2010 03:31 PM
you need to put your zfs init script at boot level and make xdm/gdm script depend on it. xdm will then wait for zfs to start and mount ZFS filesystems.
I don't think zfs-fuse project is managing the init scripts at this time. I cooked my own for my gentoo system.
I don't think zfs-fuse project is managing the init scripts at this time. I cooked my own for my gentoo system.
Added by
Seth Heeren
on
Jul 13, 2010 05:32 PM
Issue state:
open → in-progress
Target release:
None → 0.7.0
You'd never think it would happen: I just put my own upstart script up:
http://gitweb.zfs-fuse.net/[…]/zfs.upstart;hb=testing
It contains a number of tips.
In particular I made my gdm wait for zfs-fuse to be started by doing
--- a/init/gdm.conf
+++ b/init/gdm.conf
@@ -7,6 +7,7 @@ description "GNOME Display Manager"
author "William Jon McCann <mccann@jhu.edu>"
start on (filesystem
+ and started zfs-fuse
and started dbus
and (graphics-device-added fb0 PRIMARY_DEVICE_FOR_DISPLAY=1
or drm-device-added card0 PRIMARY_DEVICE_FOR_DISPLAY=1
http://gitweb.zfs-fuse.net/[…]/zfs.upstart;hb=testing
It contains a number of tips.
In particular I made my gdm wait for zfs-fuse to be started by doing
--- a/init/gdm.conf
+++ b/init/gdm.conf
@@ -7,6 +7,7 @@ description "GNOME Display Manager"
author "William Jon McCann <mccann@jhu.edu>"
start on (filesystem
+ and started zfs-fuse
and started dbus
and (graphics-device-added fb0 PRIMARY_DEVICE_FOR_DISPLAY=1
or drm-device-added card0 PRIMARY_DEVICE_FOR_DISPLAY=1
Added by
Seth Heeren
on
Sep 19, 2010 04:42 PM
Issue state:
in-progress → resolved
The upstart script is going into 0.7.0
Worked for me quite well (a lot better than any of the init scripts I tinkered with). Thanks ubuntu, for giving us upstart for boot :)
Worked for me quite well (a lot better than any of the init scripts I tinkered with). Thanks ubuntu, for giving us upstart for boot :)

