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>