Messages in this thread | | | Date | Fri, 14 Jan 2011 15:09:10 +1100 | Subject | Re: vfs-scale, nd->inode after __do_follow_link() | From | Nick Piggin <> |
| |
On Fri, Jan 14, 2011 at 1:10 PM, J. R. Okajima <hooanon05@yahoo.co.jp> wrote: > > Isn't it path.dentry->d_inode instead of nd.inode? > > J. R. Okajima > > diff --git a/fs/namei.c b/fs/namei.c > index 5bb7588..1df3bee 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 dentry *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;
It should be the inode we followed, rather than the inode of the new path, I think. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |