spufs filesystem not mounted on boot

Bug #274854 reported by Dan Munckton
10
Affects Status Importance Assigned to Milestone
Ubuntu PS3 Port
Fix Released
Medium
Dan Munckton
sysvinit (Ubuntu)
Fix Released
Undecided
Dan Munckton

Bug Description

SYMPTOMS

On booting the PS3 the first boot message is:

* Filesystem type 'spufs' is not supported. Skipping mount.

When the system is up running mount shows that /spu has not been mounted.

SOLUTION

initramfs-tools does not include spufs by default when a new initramfs image is created. Also, even if the spufs module is included it is not automatically loaded.

To solve the first problem the auto_add_modules() function in the hook-functions script could be modified to include the module when an image is created. Still to decide the best solution for the second problem.

Patches to follow.

Related branches

Dan Munckton (munckfish)
Changed in ubuntu-ps3-port:
assignee: nobody → munckfish
importance: Undecided → Medium
milestone: none → ubuntu-8.10
status: New → In Progress
Changed in initramfs-tools:
assignee: nobody → munckfish
status: New → In Progress
Revision history for this message
Colin Watson (cjwatson) wrote :

The mount is done outside the initramfs (in the mountkernfs script), so it doesn't make sense to load the module in the initramfs. Reassigning to sysvinit.

Revision history for this message
Dan Munckton (munckfish) wrote :

Ok I think I know what the problem is here:

domount() in /lib/init/mount-functions.sh checks in /proc/filesystems to see if it can match the requested filesystem type if it doesn't find one it reports "Filesystem type '$1' is not supported. Skipping mount".

However because spufs is a module it won't have been loaded at this point so it won't be listed in /proc/filesystems.

Running the actual mount command would cause the kernel itself to search for and auto load the spufs module. Is domount being too careful?

I'll try to cook up a fix.

Revision history for this message
Dan Munckton (munckfish) wrote :

After discussion with Colin Watson and others on #ubuntu-devel the decision was made that spufs could be handled as a special case in domount(). My proposed patch is attached.

NOTE this must be applied in conjunction with the patch on LP: #274858 [0]

It isn't a good idea to let any or all calls to domount run through to the mount command without validation as it returns the same error code (32) for almost any type of mount failure so we couldn't provide a neat and specific boot log message.

Also domount is only used to mount special filesystems like procfs/tmpfs/sysfs etc which will be built into the kernel. spufs is the only filesystem type compiled as a kernel module which domount is likely to be called for. Therefore no need to generalise domount to handle any filesystem type specified as a possible kernel module.

[0] https://bugs.launchpad.net/ubuntu/+source/sysvinit/+bug/274858

Changed in sysvinit:
status: In Progress → Fix Committed
Changed in ubuntu-ps3-port:
status: In Progress → Fix Committed
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package sysvinit - 2.86.ds1-59ubuntu10

---------------
sysvinit (2.86.ds1-59ubuntu10) intrepid; urgency=low

  [ Dan Munckton ]
  * Try to modprobe spufs if it isn't already available (LP: #274854).
  * Update mountkernfs.sh to use five-parameter version of domount when
    mounting spufs (LP: #274858).

 -- Colin Watson <email address hidden> Tue, 07 Oct 2008 12:13:08 +0100

Changed in sysvinit:
status: Fix Committed → Fix Released
Dan Munckton (munckfish)
Changed in ubuntu-ps3-port:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

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