vfs: Remove duplicated d_mountpoint check in __is_local_mountpoint
authorNikolay Borisov <nborisov@suse.com>
Wed, 4 Mar 2020 16:12:45 +0000 (18:12 +0200)
committerAl Viro <viro@zeniv.linux.org.uk>
Fri, 29 May 2020 14:35:24 +0000 (10:35 -0400)
This function acts as an out-of-line helper for is_local_mountpoint
is only called after the latter verifies the dentry is not a mountpoint.
There's no semantic changes and the resulting object code is smaller:

add/remove: 0/0 grow/shrink: 0/1 up/down: 0/-26 (-26)
Function                                     old     new   delta
__is_local_mountpoint                        147     121     -26
Total: Before=34161, After=34135, chg -0.08%

Signed-off-by: Nikolay Borisov <nborisov@suse.com>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
fs/namespace.c

index a28e4db075ede216f684561fbc348a01670560a9..e6aed405611da3cccd359bdc545092d26765a393 100644 (file)
@@ -669,9 +669,6 @@ bool __is_local_mountpoint(struct dentry *dentry)
        struct mount *mnt;
        bool is_covered = false;
 
-       if (!d_mountpoint(dentry))
-               goto out;
-
        down_read(&namespace_sem);
        list_for_each_entry(mnt, &ns->list, mnt_list) {
                is_covered = (mnt->mnt_mountpoint == dentry);
@@ -679,7 +676,7 @@ bool __is_local_mountpoint(struct dentry *dentry)
                        break;
        }
        up_read(&namespace_sem);
-out:
+
        return is_covered;
 }