From mboxrd@z Thu Jan 1 00:00:00 1970 From: Al Viro Subject: Re: [nfs] Oops during call nfs_mountpoint_inode_operations->lookup() method Date: Mon, 17 Jan 2011 22:18:46 +0000 Message-ID: <20110117221846.GJ22723@ZenIV.linux.org.uk> References: Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: Trond.Myklebust@netapp.com, linux-fsdevel@vger.kernel.org, akpm@linux-foundation.org To: Vitaliy Gusev Return-path: Received: from zeniv.linux.org.uk ([195.92.253.2]:44256 "EHLO ZenIV.linux.org.uk" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752668Ab1AQWSx (ORCPT ); Mon, 17 Jan 2011 17:18:53 -0500 Content-Disposition: inline In-Reply-To: Sender: linux-fsdevel-owner@vger.kernel.org List-ID: On Mon, Jan 17, 2011 at 08:04:02PM +0300, Vitaliy Gusev wrote: > diff --git a/fs/nfs/namespace.c b/fs/nfs/namespace.c > index db6aa36..c5f9162 100644 > --- a/fs/nfs/namespace.c > +++ b/fs/nfs/namespace.c > @@ -177,10 +177,16 @@ out_follow: > const struct inode_operations nfs_mountpoint_inode_operations = { > .follow_link = nfs_follow_mountpoint, > .getattr = nfs_getattr, > +#ifdef CONFIG_NFS_V4 > + .lookup = nfs_atomic_lookup, > +#endif > }; > > const struct inode_operations nfs_referral_inode_operations = { > .follow_link = nfs_follow_mountpoint, > +#ifdef CONFIG_NFS_V4 > + .lookup = nfs_atomic_lookup, > +#endif > }; That looks very wrong. You are papering over the real problem here - ask yourself what would that ->lookup() be expected to do? The thing is, we shouldn't end up trying to call ->lookup() for those. That's the real issue...