From mboxrd@z Thu Jan 1 00:00:00 1970 From: "J. R. Okajima" Subject: Re: vfs-scale, nd->inode after __do_follow_link() Date: Fri, 14 Jan 2011 11:33:56 +0900 Message-ID: <7830.1294972436@jrobl> References: <7352.1294971049@jrobl> To: Nick Piggin , linux-fsdevel , linux-kernel@vger.kernel.org Return-path: Received: from mtoichi11.ns.itscom.net ([219.110.2.181]:63081 "EHLO mtoichi11.ns.itscom.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752242Ab1ANCd7 (ORCPT ); Thu, 13 Jan 2011 21:33:59 -0500 In-Reply-To: <7352.1294971049@jrobl> Sender: linux-fsdevel-owner@vger.kernel.org List-ID: "J. R. Okajima": > Isn't it path.dentry->d_inode instead of nd.inode? There is another one just after. J. R. Okajima diff --git a/fs/namei.c b/fs/namei.c index 5bb7588..03e45ae 100644 --- a/fs/namei.c +++ b/fs/namei.c @@ -2356,8 +2374,9 @@ reval: goto exit_dput; error = __do_follow_link(&path, &nd, &cookie); if (unlikely(error)) { - if (!IS_ERR(cookie) && nd.inode->i_op->put_link) - nd.inode->i_op->put_link(path.dentry, &nd, cookie); + struct inode *i = path.dentry->d_inode; + if (!IS_ERR(cookie) && i->i_op->put_link) + i->i_op->put_link(path.dentry, &nd, cookie); /* nd.path had been dropped */ nd.path = path; goto out_path; @@ -2365,8 +2384,11 @@ reval: holder = path; nd.flags &= ~LOOKUP_PARENT; filp = do_last(&nd, &path, open_flag, acc_mode, mode, pathname); - if (nd.inode->i_op->put_link) - nd.inode->i_op->put_link(holder.dentry, &nd, cookie); + { + struct inode *i = holder.dentry->d_inode; + if (i->i_op->put_link) + i->i_op->put_link(holder.dentry, &nd, cookie); + } path_put(&holder); } out: