commit 858280624a94e274a6ac248641ba85b10b179432
Author: Yiannis Pericleous <[EMAIL PROTECTED]>
Date:   Wed May 30 13:27:10 2007 -0400

    odf_remove bug, check if unionfs dentry is not negative before trying to
    
    read its i_count

diff --git a/fs/unionfs/odf.c b/fs/unionfs/odf.c
index 6c3fb3b..39440ad 100644
--- a/fs/unionfs/odf.c
+++ b/fs/unionfs/odf.c
@@ -1520,11 +1520,11 @@ int odf_remove(struct dentry *dentry, int flags)
        /* remove */
        current->fsuid = 0;
        current->fsgid = 0;
-       if (S_ISDIR(odf_dentry->d_inode->i_mode)) {
+       if (S_ISDIR(odf_dentry->d_inode->i_mode))
                err = odf_reclaim(dentry, 0);
-       }
        else {
-               if (atomic_read(&dentry->d_inode->i_count) <= 1)
+               if (!dentry->d_inode ||
+                   atomic_read(&dentry->d_inode->i_count) <= 1)
                        err = vfs_unlink(odf_dentry->d_parent->d_inode, 
odf_dentry);
                else
                        /* silly rename open files, so their ino does
_______________________________________________
unionfs-cvs mailing list: http://unionfs.filesystems.org/
[email protected]
http://www.fsl.cs.sunysb.edu/mailman/listinfo/unionfs-cvs

Reply via email to