[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