[Unionfs] sporadic oops during diskless boot

hooanon05 at yahoo.co.jp hooanon05 at yahoo.co.jp
Sun Mar 26 22:39:40 EST 2006


Hans-Peter Jansen:
> No feedback :-(. In the meantime, I backported snapshot 20060312-2337 to

Will you send us the debug log after applying this patch?
This patch does nothing but produces some messages in unionfs_link() of
'blkid'. It assumes the curren dir is the unionfs.
And send us your /proc/mounts too.

Junjiro Okajima

--- inode.c	27 Mar 2006 03:02:29 -0000	1.1
+++ inode.c	27 Mar 2006 03:32:13 -0000
@@ -231,6 +231,24 @@ static int unionfs_link(struct dentry *o
 	print_entry_location();
 	double_lock_dentry(new_dentry, old_dentry);
 
+	if (!strcmp(current->comm, "blkid")) {
+		int v = fist_get_debug_value();
+		struct vfsmount *mnt = current->fs->pwdmnt;
+		char *p = __getname(), *q;
+		BUG_ON(!p);
+		BUG_ON(strcmp(sbt(mnt->mnt_sb), UNIONFS_NAME));
+		q = d_path(old_dentry, mnt, p, PATH_MAX);
+		BUG_ON(IS_ERR(q));
+		printk("%s:%d src %s\n", __func__, __LINE__, q);
+		fist_set_debug_value(8);
+		fist_print_dentry(__func__, old_dentry);
+		q = d_path(new_dentry, mnt, p, PATH_MAX);
+		BUG_ON(IS_ERR(q));
+		printk("%s:%d dst %s\n", __func__, __LINE__, q);
+		fist_print_dentry(__func__, new_dentry);
+		fist_set_debug_value(v);
+		__putname(p);
+	}
 	hidden_new_dentry = dtohd(new_dentry);
 
 	/* check if whiteout exists in the branch of new dentry, i.e. lookup



More information about the unionfs mailing list