]> err.no Git - linux-2.6/blobdiff - fs/ecryptfs/super.c
Use ilog2() in fs/namespace.c
[linux-2.6] / fs / ecryptfs / super.c
index b97e2106f670a6def24d4ed208785dd4a20e12e7..4859c4eecd654c8b7493f51fec4fee228a9f3d8f 100644 (file)
@@ -47,15 +47,16 @@ struct kmem_cache *ecryptfs_inode_info_cache;
  */
 static struct inode *ecryptfs_alloc_inode(struct super_block *sb)
 {
-       struct ecryptfs_inode_info *ecryptfs_inode;
+       struct ecryptfs_inode_info *inode_info;
        struct inode *inode = NULL;
 
-       ecryptfs_inode = kmem_cache_alloc(ecryptfs_inode_info_cache,
-                                         GFP_KERNEL);
-       if (unlikely(!ecryptfs_inode))
+       inode_info = kmem_cache_alloc(ecryptfs_inode_info_cache, GFP_KERNEL);
+       if (unlikely(!inode_info))
                goto out;
-       ecryptfs_init_crypt_stat(&ecryptfs_inode->crypt_stat);
-       inode = &ecryptfs_inode->vfs_inode;
+       ecryptfs_init_crypt_stat(&inode_info->crypt_stat);
+       mutex_init(&inode_info->lower_file_mutex);
+       inode_info->lower_file = NULL;
+       inode = &inode_info->vfs_inode;
 out:
        return inode;
 }
@@ -85,7 +86,6 @@ static void ecryptfs_destroy_inode(struct inode *inode)
                        fput(inode_info->lower_file);
                        inode_info->lower_file = NULL;
                        d_drop(lower_dentry);
-                       d_delete(lower_dentry);
                }
        }
        mutex_unlock(&inode_info->lower_file_mutex);