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@xxxxxxxx> --- Al, I experimented with adding likely in the inline helper but this didn't change the generated code for me so simply removing the check is sufficient. fs/namespace.c | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/fs/namespace.c b/fs/namespace.c index 85b5f7bea82e..07b5fbe513ec 100644 --- a/fs/namespace.c +++ b/fs/namespace.c @@ -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; } -- 2.17.1