Hello Bertrand,

Bertrand D:
> Working on an embedded projet, i planned on using aufs. The linux kernel I 
> use is based on a 2.6.20.7 (it was cross-compiled). It uses the ppc branch 
> and not the powerpc one. The kernel works great with different kinds of 
> filesystems. No stability issues. Except when i use aufs. Compiled as a 
> module or built-in the kernel, everytime i try to mount anything via aufs the 
> system hangs. No callstack appears on the console, no oops, nothing. I tried 
> with two different mount components (busybox and coreutils). I activated the 
> CONFIG_AUFS_DEBUG option, used sometimes the mount.aufs script, tried with or 
> without a mtab file. Nothing changed. It's stuck (and so am i). I tried the 
> 20070604 version.

If you can use MagicSysRq key, try these keys and send me the output. It
will show where aufs stopped.
Or try this patch which will produce some debug logs at mount-time.
Also you need to receive kernel debug log.

MagicSysRq key
'd'     - Shows all locks that are held.
'q'     - Will dump a list of all running timers.
't'     - Will dump a list of current tasks and their information to your
          console.
'w'     - Dumps tasks that are in uninterruptable (blocked) state.

----------------------------------------------------------------------
Index: fs/aufs/super.c
===================================================================
RCS file: /cvsroot/aufs/aufs/fs/aufs/super.c,v
retrieving revision 1.53
diff -u -p -r1.53 super.c
--- fs/aufs/super.c     4 Jun 2007 02:17:35 -0000       1.53
+++ fs/aufs/super.c     13 Jun 2007 06:44:41 -0000
@@ -677,7 +677,7 @@ static int aufs_fill_super(struct super_
        struct opts opts;
        char *arg = raw_data;
 
-       //au_debug_on();
+       au_debug_on();
        if (unlikely(!arg || !*arg)) {
                err = -EINVAL;
                Err("no arg\n");
@@ -763,7 +763,7 @@ static int aufs_fill_super(struct super_
        TraceErr(err);
        err = cvt_err(err);
        TraceErr(err);
-       //au_debug_off();
+       au_debug_off();
        return err;
 }
 
----------------------------------------------------------------------

To receive debug log
# echo 8 > /proc/sys/kernel/printk

(/etc/syslog.conf)
kern.debug /var/log/debug.log

# restart your_syslog_daemon


Junjiro Okajima

-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/

Reply via email to