Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 16 Dec 1999 09:53:41 -0800
From:      Matthew Reimer <mreimer@vpop.net>
To:        Matthew Dillon <dillon@apollo.backplane.com>, freebsd-current@freebsd.org
Subject:   Re: Serious server-side NFS problem
Message-ID:  <38592725.34AAE2E3@vpop.net>
References:  <lists.freebsd.current.199912160600.WAA47882@apollo.backplane.com>

next in thread | previous in thread | raw e-mail | index | archive | help
Matt, you are a tenacious, fearsome bug hunter!

Matt

Matthew Dillon wrote:
> 
>     Here's a general update on this bug report to -current.  It took all day
>     but I was finally able to reproduce Andrew's bug.
> 
>     You guys are going to *love* this.
> 
>     NFS uses the kernel 'boottime' structure to generate its version id.
>     Now normally you might believe that this structure, once set, will
>     never change.  The authors of NFS certainly make that assumption!
> 
>     No such luck.  If you happen to be running, oh, xntpd for example,
>     the kernel adjusts the boottime structure to take into account time
>     changes, including PLL changes so, in fact, the boottime structure
>     can change quite often - once each tick, in fact.
> 
>     Now, the effect of boottime changing on NFS is rather drastic.  You
>     see, the version id controls whether NFS clients must reset their
>     state machines for NFS data writes.  If a client has done a stage 1
>     write and is ready to do the stage 2 commit, and the version id
>     changes, the client must revert back to stage 1.
> 
>     And so Andrews bug report comes into the light!   His poor client
>     (and mine once I reproduced the bug) got into a state, due to the
>     server returning a different version id for virtually every packet,
>     where it resent the same write data over the network over and over
>     and over and over and over again.
> 
>     I think recent changes to the way the kernel clocks work in -current
>     brought the bug out into the open, but it's definitely a problem in
>     both -stable and -current.
> 
>     Doh!  I gotta say that if I hadn't happened to have been running xntpd
>     on my test box I would have *never* figured it out.
> 
>                                                 -Matt
> 
> To Unsubscribe: send mail to majordomo@FreeBSD.org
> with "unsubscribe freebsd-current" in the body of the message


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?38592725.34AAE2E3>