All of lore.kernel.org
 help / color / mirror / Atom feed
From: Trond Myklebust <trond.myklebust@fys.uio.no>
To: Boaz Harrosh <bharrosh@panasas.com>
Cc: Al Viro <viro@ZenIV.linux.org.uk>,
	linux-fsdevel <linux-fsdevel@vger.kernel.org>,
	"J. Bruce Fields" <bfields@citi.umich.edu>,
	pNFS Mailing List <pnfs@linux-nfs.org>,
	linux-kernel <linux-kernel@vger.kernel.org>
Subject: Re: [pnfs] [GIT BISECT] first bad commit: 1f36f774 Switch !O_CREAT case to use of do_last()
Date: Wed, 24 Mar 2010 14:02:36 -0400	[thread overview]
Message-ID: <1269453756.5982.33.camel@localhost.localdomain> (raw)
In-Reply-To: <4BAA5035.1060906@panasas.com>

On Wed, 2010-03-24 at 19:47 +0200, Boaz Harrosh wrote: 
> On 03/24/2010 07:32 PM, Boaz Harrosh wrote:
> > On 03/24/2010 07:15 PM, Boaz Harrosh wrote:
> >> On 03/24/2010 06:39 PM, Al Viro wrote:
> >>> On Wed, Mar 24, 2010 at 06:10:52PM +0200, Boaz Harrosh wrote:
> >>>> On 03/24/2010 06:07 PM, Al Viro wrote:
> >>>>> On Wed, Mar 24, 2010 at 06:04:56PM +0200, Boaz Harrosh wrote:
> >>>>>>> Bloody impressive...  Does that happen to underlying fs or to what you
> >>>>>>> are seeing via NFS?
> >>>>>>
> >>>>>> Only via NFS. All local access is fine.
> >>>>>>
> >>>>>> After the corruption above I can cd to the local mount cp a fresh copy
> >>>>>> of .git/index file and play around just fine.
> >>>>>> Once I return to the NFS mounted directory, a git status will do it.
> >>>>>> It does not matter if caches are cold (Takes a long time) or hot it happens
> >>>>>> every time.
> >>>>>>
> >>>>>> Weird I know, I'm playing some more with it as we speak
> >>>>>
> >>>>> What happens if you export to box running older kernel *or* from box
> >>>>> running older kernel?  IOW, is that nfsd or nfs client getting unhappy?
> >>>>> I'd suspect the latter, but...
> >>>>
> >>>>
> >>>> Good question, I'm just getting to that because currently it's all
> >>>> over localhost (same kernel, BTW inside a UML)
> >>>>
> >>>> I will try what you said. Please through any other tests on me, if needed.
> >>>
> >>
> >> As you suspected old-server+new-client fails. any-thing+old-client is
> >> fine. (two separate machines this time)
> >>
> >>> Very interesting...  Just to see which path we are hitting: add
> >>> 	if (IS_ERR(nd->intent.open.file))
> >>> 		printk("foo: %s", pathname);
> >>> right after
> >>>                 error = do_lookup(nd, &nd->last, path);
> >>>                 if (error)
> >>>                         goto exit;
> >>> in fs/namei.c:do_last() and see whether we are hitting it or not on objects
> >>> that get corrupted.
> >>
> >> Sorry was busy shifting setups, didn't see your mail, will do that next ...
> >>
> >> Thanks
> >> Boaz
> > 
> > 
> > Below is what I changed. (I hope its what you meant)
> > It does not get hit, just that git corruption as before but I don't see the prints.
> > I'll try running with nfs dbg-prints on see what it does around the time gits complains
> > 
> > Boaz
> > 
> 
> Attached is an output of when I:
> $ echo $((0x7fff)) > /proc/sys/sunrpc/nfs_debug
> and then run git status. (On a new client)
> 
> We can see the complains after things got broken but what broke it
> that's hard for me to see.
> 
> (If the file is too big I'll put it on the web somewhere, see if it arrives)
> 
> Boaz

Something weird is going on in your trace:

NFS: open file(5b/46ff70a61cf4e159a0339df0e02113bf35f805)
NFS: permission(0:12/323044), mask=0x24, res=0
NFS: revalidating (0:12/323044)
--> nfs4_setup_sequence clp 00000000791f3000 session (null) sr_slotid
128
<-- nfs4_setup_sequence status=0
encode_compound: tag=
decode_attr_type: type=00
decode_attr_change: change attribute=10077553255782547456
decode_attr_size: file size=921
decode_attr_fsid: fsid=(0x0/0x0)
decode_attr_fileid: fileid=0
decode_attr_fs_locations: fs_locations done, error = 0
decode_attr_mode: file mode=00
decode_attr_nlink: nlink=1
decode_attr_owner: uid=-2
decode_attr_group: gid=-2
decode_attr_rdev: rdev=(0x0:0x0)
decode_attr_space_used: space used=0
decode_attr_time_access: atime=0
decode_attr_time_metadata: ctime=1269422731
decode_attr_time_modify: mtime=1269422731
decode_attr_mounted_on_fileid: fileid=0
decode_getfattr: xdr returned 0

A file type of '0' in the above trace is just wrong, and probably
indicates that the server didn't even return that attribute.

I'd say you have a corruption issue either on the server side or on your
client.

Trond


  parent reply	other threads:[~2010-03-24 18:03 UTC|newest]

Thread overview: 51+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-03-24 15:49 [GIT BISECT] first bad commit: 1f36f774 Switch !O_CREAT case to use of do_last() Boaz Harrosh
2010-03-24 15:49 ` Boaz Harrosh
2010-03-24 16:00 ` Al Viro
2010-03-24 16:04   ` Boaz Harrosh
2010-03-24 16:07     ` Al Viro
2010-03-24 16:10       ` Boaz Harrosh
2010-03-24 16:39         ` Al Viro
2010-03-24 17:15           ` Boaz Harrosh
2010-03-24 17:32             ` [pnfs] " Boaz Harrosh
2010-03-24 17:47               ` Boaz Harrosh
2010-03-24 17:58                 ` Boaz Harrosh
2010-03-24 18:06                   ` Al Viro
2010-03-24 18:26                     ` Doug Nazar
2010-03-24 18:56                       ` Al Viro
2010-03-25  9:39                         ` Boaz Harrosh
2010-03-25 10:12                           ` Al Viro
2010-03-25 10:22                             ` Benny Halevy
2010-03-25 10:31                               ` Benny Halevy
2010-03-25 10:49                               ` Al Viro
2010-03-25 10:56                                 ` Benny Halevy
2010-03-25 11:00                                   ` Al Viro
2010-03-25 11:12                                     ` Benny Halevy
2010-03-25 11:13                                       ` Benny Halevy
2010-03-25 11:55                                 ` Al Viro
2010-03-25 13:00                                   ` Boaz Harrosh
2010-03-25 13:11                                     ` Boaz Harrosh
2010-03-25 10:54                             ` Al Viro
2010-03-25 11:19                               ` Benny Halevy
2010-03-25 12:07                               ` Benny Halevy
2010-03-25 12:18                                 ` Benny Halevy
2010-03-25 13:06                                   ` Al Viro
2010-03-25 13:30                                     ` Boaz Harrosh
2010-03-25 13:37                                       ` Al Viro
2010-03-25 13:45                                         ` Boaz Harrosh
2010-03-25 14:04                                           ` Al Viro
2010-03-25 14:27                                             ` Boaz Harrosh
2010-03-25 15:25                                               ` Al Viro
2010-03-25 17:28                                                 ` Boaz Harrosh
2010-03-25 17:59                                                   ` Trond Myklebust
2010-03-25 18:06                                                     ` Boaz Harrosh
2010-03-25 18:18                                                       ` Trond Myklebust
2010-03-25 18:33                                                         ` Boaz Harrosh
2010-03-25 13:52                                         ` Benny Halevy
2010-03-25 14:06                                           ` Al Viro
2010-03-25 14:07                                             ` Benny Halevy
2010-03-25 14:36                                               ` Benny Halevy
2010-03-24 18:02                 ` Trond Myklebust [this message]
2010-03-24 18:10                   ` Trond Myklebust
2010-03-25  9:13                     ` Boaz Harrosh
2010-03-25 15:44                       ` Trond Myklebust
2010-03-25 10:11                     ` Benny Halevy

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1269453756.5982.33.camel@localhost.localdomain \
    --to=trond.myklebust@fys.uio.no \
    --cc=bfields@citi.umich.edu \
    --cc=bharrosh@panasas.com \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=pnfs@linux-nfs.org \
    --cc=viro@ZenIV.linux.org.uk \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.