From f97ce9e3315d9c314b2557d5f18baef81a822400 Mon Sep 17 00:00:00 2001 From: Erez_Zadok Date: Sun, 3 Jun 2007 02:27:37 -0400 Subject: [PATCH] cleanup: rewrite new_dentry_private data more simply Also remove unnecessary variables and statements. Signed-off-by: Erez Zadok --- fs/unionfs/lookup.c | 28 ++++++++++------------------ 1 file changed, 10 insertions(+), 18 deletions(-) diff --git a/fs/unionfs/lookup.c b/fs/unionfs/lookup.c index b38086b8290..98a05a8f29d 100644 --- a/fs/unionfs/lookup.c +++ b/fs/unionfs/lookup.c @@ -483,23 +483,18 @@ int new_dentry_private_data(struct dentry *dentry) int size; struct unionfs_dentry_info *info = UNIONFS_D(dentry); void *p; - int unlock_on_err = 0; - if (!info) { - dentry->d_fsdata = kmem_cache_alloc(unionfs_dentry_cachep, - GFP_ATOMIC); - info = UNIONFS_D(dentry); - if (!info) - goto out; - - mutex_init(&info->lock); - unionfs_lock_dentry(dentry); - unlock_on_err = 1; + BUG_ON(info); - info->lower_paths = NULL; - } + dentry->d_fsdata = kmem_cache_alloc(unionfs_dentry_cachep, + GFP_ATOMIC); + info = UNIONFS_D(dentry); + if (!info) + goto out; - mutex_lock(&info->lock); + mutex_init(&info->lock); + info->lower_paths = NULL; + unionfs_lock_dentry(dentry); info->bstart = info->bend = info->bopaque = -1; info->bcount = sbmax(dentry->d_sb); @@ -518,10 +513,7 @@ int new_dentry_private_data(struct dentry *dentry) return 0; out_free: - kfree(info->lower_paths); - if (unlock_on_err) - unionfs_unlock_dentry(dentry); - + unionfs_unlock_dentry(dentry); out: free_dentry_private_data(info); dentry->d_fsdata = NULL; -- 2.43.0