inotify on unionfs-fuse watches the base filesystem, not the cow filesystem

Bug #497246 reported by David Wolinsky
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
unionfs-fuse (Ubuntu)
Triaged
Low
Unassigned

Bug Description

Binary package hint: upstart

Ubuntu Version:
Description: Ubuntu 9.10
Release: 9.10

Package Version:
upstart:
  Installed: 0.6.3-10
  Candidate: 0.6.3-10
  Version table:
 *** 0.6.3-10 0
        500 http://us.archive.ubuntu.com karmic/main Packages
        100 /var/lib/dpkg/status

Expected:
Services start when installed only on the copy-on-write (cow) system

Result:
Services only start when installed on the base system

Details:
We use a cow filesystem using unionfs-fuse and if the user installs any services that rely on upstart they are unable to be started through upstart facilities such as service, start, or initctl. If installed on the base system it works fine.

boot into cow leaves the system like this ->
unionfs-fuse on / type fuse.unionfs-fuse (rw,errors=remount-ro)
/dev/sda1 on /.oldroot type ext4 (rw)

After doing something like, apt-get install dbus. dbus is unable to start with service returning this message: start: Unknown job: dbus

If I copy the dbus.conf from /etc/init/dbus.conf -> /.oldroot/etc/init/dbus.conf
dbus can be started normally.

The cow is started as a pre-script on mountall.conf. Perhaps there is a better location? I'm trying to make the process of adding / removing cow as painless as possible.

Revision history for this message
Scott James Remnant (Canonical) (canonical-scott) wrote :

This is most likely a bug in unionfs-fuse, but first could you check something for me:

if instead of copying the file to the old root, you run:

  initctl reload-configuration

does it then see the dbus job?

Changed in upstart (Ubuntu):
status: New → Incomplete
importance: Undecided → Low
Revision history for this message
David Wolinsky (davidiw) wrote :

Running:
    initctl reload-configuration

Worked great. Is this safe to append to my cow script as a temporary resolution?

Revision history for this message
David Wolinsky (davidiw) wrote :

Appending it to the cow script causes the boot process to freeze prior to finishing the boot process.

Revision history for this message
Scott James Remnant (Canonical) (canonical-scott) wrote : Re: [Bug 497246] Re: Upstart (initctl, service, start) cannot start jobs when using unionfs root

On Wed, 2009-12-16 at 13:36 +0000, David Wolinsky wrote:
> Running:

> initctl reload-configuration
>
> Worked great. Is this safe to append to my cow script as a temporary
> resolution?
>
Yeah, definitely.

It has an odd side effect in that all events that have happened so far
are "forgotten"; so make sure you do it either as the first thing you
do, or the last thing you do.

Scott
--
Scott James Remnant
<email address hidden>

affects: upstart (Ubuntu) → unionfs-fuse (Ubuntu)
summary: - Upstart (initctl, service, start) cannot start jobs when using unionfs
- root
+ inotify on unionfs-fuse watches the base filesystem, not the cow
+ filesystem
Changed in unionfs-fuse (Ubuntu):
status: Incomplete → Triaged
Revision history for this message
Bernd Schubert (aakef) wrote :

Fuse does not provide any inotify calls, AFAIK it is on Miklos' TODO list (http://old.nabble.com/inotify-like-API-td21015584.html). Therefore not a bug in unionfs-fuse, but in libfuse and kernel-fuse.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.