afs: get rid of redundant ->d_name.len checks
[platform/adaptation/renesas_rcar/renesas_kernel.git] / fs / afs / dir.c
index 34494fb..646337d 100644 (file)
@@ -685,16 +685,12 @@ not_found:
        spin_unlock(&dentry->d_lock);
 
 out_bad:
-       if (dentry->d_inode) {
-               /* don't unhash if we have submounts */
-               if (have_submounts(dentry))
-                       goto out_skip;
-       }
+       /* don't unhash if we have submounts */
+       if (check_submounts_and_drop(dentry) != 0)
+               goto out_skip;
 
        _debug("dropping dentry %s/%s",
               parent->d_name.name, dentry->d_name.name);
-       shrink_dcache_parent(dentry);
-       d_drop(dentry);
        dput(parent);
        key_put(key);
 
@@ -755,10 +751,6 @@ static int afs_mkdir(struct inode *dir, struct dentry *dentry, umode_t mode)
        _enter("{%x:%u},{%s},%ho",
               dvnode->fid.vid, dvnode->fid.vnode, dentry->d_name.name, mode);
 
-       ret = -ENAMETOOLONG;
-       if (dentry->d_name.len >= AFSNAMEMAX)
-               goto error;
-
        key = afs_request_key(dvnode->volume->cell);
        if (IS_ERR(key)) {
                ret = PTR_ERR(key);
@@ -820,10 +812,6 @@ static int afs_rmdir(struct inode *dir, struct dentry *dentry)
        _enter("{%x:%u},{%s}",
               dvnode->fid.vid, dvnode->fid.vnode, dentry->d_name.name);
 
-       ret = -ENAMETOOLONG;
-       if (dentry->d_name.len >= AFSNAMEMAX)
-               goto error;
-
        key = afs_request_key(dvnode->volume->cell);
        if (IS_ERR(key)) {
                ret = PTR_ERR(key);
@@ -940,10 +928,6 @@ static int afs_create(struct inode *dir, struct dentry *dentry, umode_t mode,
        _enter("{%x:%u},{%s},%ho,",
               dvnode->fid.vid, dvnode->fid.vnode, dentry->d_name.name, mode);
 
-       ret = -ENAMETOOLONG;
-       if (dentry->d_name.len >= AFSNAMEMAX)
-               goto error;
-
        key = afs_request_key(dvnode->volume->cell);
        if (IS_ERR(key)) {
                ret = PTR_ERR(key);
@@ -1009,10 +993,6 @@ static int afs_link(struct dentry *from, struct inode *dir,
               dvnode->fid.vid, dvnode->fid.vnode,
               dentry->d_name.name);
 
-       ret = -ENAMETOOLONG;
-       if (dentry->d_name.len >= AFSNAMEMAX)
-               goto error;
-
        key = afs_request_key(dvnode->volume->cell);
        if (IS_ERR(key)) {
                ret = PTR_ERR(key);
@@ -1057,10 +1037,6 @@ static int afs_symlink(struct inode *dir, struct dentry *dentry,
               dvnode->fid.vid, dvnode->fid.vnode, dentry->d_name.name,
               content);
 
-       ret = -ENAMETOOLONG;
-       if (dentry->d_name.len >= AFSNAMEMAX)
-               goto error;
-
        ret = -EINVAL;
        if (strlen(content) >= AFSPATHMAX)
                goto error;
@@ -1131,10 +1107,6 @@ static int afs_rename(struct inode *old_dir, struct dentry *old_dentry,
               new_dvnode->fid.vid, new_dvnode->fid.vnode,
               new_dentry->d_name.name);
 
-       ret = -ENAMETOOLONG;
-       if (new_dentry->d_name.len >= AFSNAMEMAX)
-               goto error;
-
        key = afs_request_key(orig_dvnode->volume->cell);
        if (IS_ERR(key)) {
                ret = PTR_ERR(key);