unionfs-fuse not handled

Bug #432571 reported by marmuta on 2009-09-18
10
This bug affects 2 people
Affects Status Importance Assigned to Milestone
mountall (Ubuntu)
Medium
Scott James Remnant (Canonical)
Karmic
Medium
Scott James Remnant (Canonical)

Bug Description

Binary package hint: mountall

Hi,
mountall doesn't seem to mount the unionfs-fuse entry in my fstab. I have to manually run
sudo mount /home/user
sudo mount /home/user/files
to get into $HOME.

the relevant part of fstab:
usertmp /home/user_tmpfs tmpfs rw,user,exec,mode=0700,uid=1000,gid=1000 0 0
unionfs-fuse#/home/user_tmpfs=rw:/home/user_persist=ro /home/user fuse cow,allow_other,uid=1000,gid=1000,nonempty 0 0
/home/user_files /home/user/files none bind 0 0

I'll attach the results from the bash insertion procedure from the other bug reports below.

ProblemType: Bug
Architecture: amd64
Date: Fri Sep 18 17:44:06 2009
DistroRelease: Ubuntu 9.10
Package: mountall 0.1.6
ProcEnviron:
 PATH=(custom, User Name)
 LANG=en_US.UTF-8
 SHELL=/bin/bash
ProcVersionSignature: Ubuntu 2.6.31-10.32-generic
SourcePackage: mountall
Uname: Linux 2.6.31-10-generic x86_64

marmuta (marmuta) wrote :
marmuta (marmuta) wrote :

mountall --debug >/dev/mountall.log 2>/dev/mountall-err.log &

marmuta (marmuta) wrote :

mountall-err.log is empty

We probably need some kind of ordering logic for these (and for aufs)

summary: - unionfs-fuse not mounted
+ unionfs-fuse not handled
Changed in mountall (Ubuntu):
importance: Undecided → Medium
status: New → Triaged
Changed in mountall (Ubuntu):
status: Triaged → In Progress
assignee: nobody → Scott James Remnant (scott)
milestone: none → ubuntu-9.10
Changed in mountall (Ubuntu Karmic):
status: In Progress → Fix Committed

I've uploaded a new mountall package to the ubuntu-boot PPA:

https://launchpad.net/~ubuntu-boot/+archive/ppa

I would appreciate it if you could install this and try it out. *BEFORE* you reboot though, could you run "sudo mountall --debug > mountall.log 2>&1" and attach that to this bug - then after you reboot, let me know whether it worked or not.

Thanks

marmuta (marmuta) wrote :

Thanks Scott, I've tried mountall 0.2.0~boot3 and did see partial success. The uniofs-fuse line does get mounted every time.

The following bind mount does appear to be mounted correctly too, but when I look inside /home/user/files it's all empty. I still have to sudo mount /home/user/files to get it right.
I've noticed that for some reason mtab has the bind mount already listed before mountall is run in /etc/init/mountall.conf, but it's not in /proc/mounts.

Then the swap file didn't get mounted with complaints of a readonly file system it's on. That didn't happen before. I'll attach logs below.

Also hangs are back. Before reboot mountall would never return until I removed the erroneous line
varxapian /var/lib/apt-xapian-index tmpfs defaults,noexec,nosuid,nodev,mode=0755 0 0
I have xapian-index uninstalled so the mount point is missing.

Booting my system after that would hang every time, even with all offending lines (swapfile, xapian-index , spurious line break in commented gdm mount) removed. It always hangs after "* init start crypto-disks...", in fact it still sits there in console 1 as I have tricked my way in in console 2.

I'll attach log files below.

marmuta (marmuta) wrote :

After installation of 0.2.0~boot3, before reboot.

marmuta (marmuta) wrote :

After installation of 0.2.0~boot3, before reboot
sudo mountall --debug > mountall.log 2>&1

mountall hangs, probably because of bad varxapian mount. ^C stops it.

marmuta (marmuta) wrote :

Still After installation of 0.2.0~boot3, before reboot

No hang with varxapian commented.

marmuta (marmuta) wrote :

Still after installation of 0.2.0~boot3, before reboot

sudo mountall --debug >mountall.log 2>&1

no hang with varxapian commented, mountall takes <1s to return.

marmuta (marmuta) wrote :

Rebooting with 0.2.0~boot3.
hangs.

With bash in /etc/init/mountall.conf:
mountall --debug >/dev/mountall.log 2>/dev/mountall_err.log

dev/mountall_err.log:
swapon: /swapfile.dat: swapon failed: Read-only file system
mountall: swapon /swapfile.dat [608] terminated with status 255
mountall: Problem activating swap: /swapfile.dat

Also bind mount's mount point /home/user/files is empty and console 1 hangs (still does) after "* init start crypto-disks... [OK]"

Sorry for the bug spam, I hope it helps a little bit.

Sorry about the issues with the previous PPA versions, as usual things worked just fine when I tested it in the various rigs I have here - of course it flatly failed when installed on normal systems because I hadn't actually tested that ;)

I've uploaded a new ~boot4 version, this one feels much better (and I'm running it on my laptop now :p)

As before, after installing the package but *before* you reboot, please run with --debug and attach the log to the bug - then after rebooting, let me know how it works out.

Thanks for all your help with testing, this is a big change and it's good to know that it's now working for 95% of people and your help getting it work for the final 5% is greatly appreciated!

marmuta (marmuta) wrote :

0.2.0~boot4 nailed it, great job Scott!
swapfile- unionfs-fuse- and the bind mount are all there. No unusual delays or hangs during boot either.

It still seems sensitive to errors though. Before the reboot, running with --debug, it would hang until I commented the swap file line, same for the bad varxapian line with missing mount point.

I'll attach
sudo mountall --debug > mountall.log 2>&1
from before reboot.

Launchpad Janitor (janitor) wrote :

This bug was fixed in the package mountall - 0.2.0

---------------
mountall (0.2.0) karmic; urgency=low

  [ Colin Watson ]
  * Always check the root filesystem if --force-fsck is used, regardless of
    passno. LP: #435707.

  [ Johan Kiviniemi ]
  * Have each fsck instance create a lock for each underlying physical device.
    If you have a single disk or RAID, all filesystem checks will happen
    sequentially in order to avoid thrashing. On more complex configurations,
    you’ll benefit from the parallel checks mountall has been doing all along.
    LP: #434974.

  [ Scott James Remnant ]
  * Flush standard output and error before spawning processes to make
    capturing logs easier (otherwise we end up repeating things still in
    the buffer), and before calling exec().
  * Turn the code upside down so that each mount knows what it's waiting
    for, and allow multiple dependencies. This makes the code much more
    readable putting the "policy" in a single function, and will make it
    much easier in future when this is done by Upstart.
  * For kernel filesystems listed in fstab, honour the order that they
    are listed in fstab. LP: #432571, #433537, #436796
  * Always create new swap partition mounts for each fstab entry, don't
    treat them as updating the same. LP: #435027.
  * Virtual filesystems under local or remote filesystems (and local under
    remote) don't delay the virtual or local events. LP: #431040.
  * Simplify event emission, this has the advantage that we can now output
    what mount points we're waiting for and what they are waiting for as
    well.
  * Fixed issue with trailing slashes. LP: #443035.
  * Only run hooks if the filesystem was not already mounted. LP: #444252.
  * Don't clean up /tmp when run without --tmptime argument.
  * Ignore loop and ram devices until ready. LP: #441454.
  * Add options to binfmt_misc filesystem, which will probably cause it to
    be mounted on boot as well.
  * Synchronously mount local and virtual filesystems, I suspect this is
    the real cause behind the XFS races as one will modprobe and the other
    will not (and fail). LP: #432620.
  * Synchronously activate swap to avoid out of memory issues when checking
    the root filesystem.
  * Enumerate existing udev devices on startup, so we don't always have to
    see udev be coldplugged.
  * Don't break on general errors for non-essential filesystems.
    LP: #441144.
  * Don't repeat attempts to mount a filesystem without having first
    succeded to mount another.
  * Still restart mountall even if the recovery shell fails.
  * Don't queue filesystem check when device is "none", or missing, or the
    filesystem is marked nodev.
  * Generate a "mount" event before mounting a filesystem, and wait for its
    effects to complete.

 -- Scott James Remnant <email address hidden> Fri, 09 Oct 2009 16:50:46 +0100

Changed in mountall (Ubuntu Karmic):
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers