From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753514AbbCEFXL (ORCPT ); Thu, 5 Mar 2015 00:23:11 -0500 Received: from cantor2.suse.de ([195.135.220.15]:42176 "EHLO mx2.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752696AbbCEFXI (ORCPT ); Thu, 5 Mar 2015 00:23:08 -0500 From: NeilBrown To: Alexander Viro Date: Thu, 05 Mar 2015 16:21:21 +1100 Subject: [PATCH 6/9] VFS/namei: enable RCU-walk when following symlinks. Cc: linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org Message-ID: <20150305052121.23906.85793.stgit@notabene.brown> In-Reply-To: <20150305051530.23906.65097.stgit@notabene.brown> References: <20150305051530.23906.65097.stgit@notabene.brown> User-Agent: StGit/0.17.1-dirty MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Now that follow_link handles LOOKUP_RCU, we do not need to 'unlazy_walk' when a symlink is found. Signed-off-by: NeilBrown --- fs/namei.c | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/fs/namei.c b/fs/namei.c index 4ddbc1ef5726..11e6b2068c96 100644 --- a/fs/namei.c +++ b/fs/namei.c @@ -1608,12 +1608,6 @@ static inline int walk_component(struct nameidata *nd, struct path *path, goto out_path_put; if (should_follow_link(path->dentry, follow)) { - if (nd->flags & LOOKUP_RCU) { - if (unlikely(unlazy_walk(nd, path->dentry))) { - err = -ECHILD; - goto out_err; - } - } BUG_ON(inode != path->dentry->d_inode); return 1; } @@ -3066,12 +3060,6 @@ finish_lookup: } if (should_follow_link(path->dentry, !symlink_ok)) { - if (nd->flags & LOOKUP_RCU) { - if (unlikely(unlazy_walk(nd, path->dentry))) { - error = -ECHILD; - goto out; - } - } BUG_ON(inode != path->dentry->d_inode); return 1; }