diff options
| -rw-r--r-- | fs/msdos/namei.c | 15 | ||||
| -rw-r--r-- | fs/vfat/namei.c | 14 |
2 files changed, 10 insertions, 19 deletions
diff --git a/fs/msdos/namei.c b/fs/msdos/namei.c index b7fbe8be6b2a..12812cddda8a 100644 --- a/fs/msdos/namei.c +++ b/fs/msdos/namei.c @@ -222,22 +222,17 @@ struct dentry *msdos_lookup(struct inode *dir,struct dentry *dentry) if (res) goto out; add: - if (inode) { - dentry = d_splice_alias(inode, dentry); - dentry->d_op = &msdos_dentry_operations; - } else { - d_add(dentry, inode); - dentry = NULL; - } res = 0; + dentry = d_splice_alias(inode, dentry); + if (dentry) + dentry->d_op = &msdos_dentry_operations; out: if (bh) fat_brelse(sb, bh); unlock_kernel(); - if (res) - return ERR_PTR(res); - else + if (!res) return dentry; + return ERR_PTR(res); } /***** Creates a directory entry (name is already formatted). */ diff --git a/fs/vfat/namei.c b/fs/vfat/namei.c index cb72167a90f6..c0e93c2c0925 100644 --- a/fs/vfat/namei.c +++ b/fs/vfat/namei.c @@ -1021,16 +1021,12 @@ error: unlock_kernel(); dentry->d_op = &vfat_dentry_ops[table]; dentry->d_time = dentry->d_parent->d_inode->i_version; - if (inode) { - dentry = d_splice_alias(inode, dentry); - if (dentry) { - dentry->d_op = &vfat_dentry_ops[table]; - dentry->d_time = dentry->d_parent->d_inode->i_version; - } - return dentry; + dentry = d_splice_alias(inode, dentry); + if (dentry) { + dentry->d_op = &vfat_dentry_ops[table]; + dentry->d_time = dentry->d_parent->d_inode->i_version; } - d_add(dentry,inode); - return NULL; + return dentry; } int vfat_create(struct inode *dir,struct dentry* dentry,int mode) |
