Personal tools
You are here: Home Issue tracker zsf /home share not ready on time while auto-login with gdm

#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
Return to tracker
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.
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: unconfirmedopen
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
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.
Added by Seth Heeren on Jul 13, 2010 05:32 PM
Issue state: openin-progress
Target release: None0.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
Added by Seth Heeren on Sep 19, 2010 04:42 PM
Issue state: in-progressresolved
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 :)