After experiencing many assertion fails, I have found a bug.
unionfs has become pretty stable after fixing this bug.
I am using unionfs with writable nfs branches and i have modified some
other points.


Junjiro Okajima


--- unionfs-20050920-1539/inode.cO      2005-09-21 04:39:03.000000000 +0900
+++ unionfs-20050920-1539/inode.c       2005-09-21 20:10:16.819341832 +0900
@@ -41,7 +41,7 @@
        hidden_dentry = dtohd(dentry);
 
        /* check if whiteout exists in this branch, i.e. lookup .wh.foo first */
-       name = KMALLOC(dentry->d_name.len + sizeof(".wh"), GFP_UNIONFS);
+       name = KMALLOC(dentry->d_name.len + sizeof(".wh."), GFP_UNIONFS);
        if (!name) {
                err = -ENOMEM;
                goto out;
@@ -354,7 +354,7 @@
        hidden_dentry = dtohd(dentry);
 
        /* check if whiteout exists in this branch, i.e. lookup .wh.foo first. 
If present, delete it */
-       name = KMALLOC(dentry->d_name.len + sizeof(".wh"), GFP_UNIONFS);
+       name = KMALLOC(dentry->d_name.len + sizeof(".wh."), GFP_UNIONFS);
        if (!name) {
                err = -ENOMEM;
                goto out;
@@ -484,7 +484,7 @@
        hidden_dentry = dtohd(dentry);
 
        // check if whiteout exists in this branch, i.e. lookup .wh.foo first
-       name = KMALLOC(dentry->d_name.len + sizeof(".wh"), GFP_UNIONFS);
+       name = KMALLOC(dentry->d_name.len + sizeof(".wh."), GFP_UNIONFS);
        if (!name) {
                err = -ENOMEM;
                goto out;
@@ -641,7 +641,7 @@
        hidden_dentry = dtohd(dentry);
 
        // check if whiteout exists in this branch, i.e. lookup .wh.foo first
-       name = KMALLOC(dentry->d_name.len + sizeof(".wh"), GFP_UNIONFS);
+       name = KMALLOC(dentry->d_name.len + sizeof(".wh."), GFP_UNIONFS);
        if (!name) {
                err = -ENOMEM;
                goto out;
_______________________________________________
unionfs mailing list
[email protected]
http://www.fsl.cs.sunysb.edu/mailman/listinfo/unionfs

Reply via email to