From owner-freebsd-fs@FreeBSD.ORG Mon Dec 6 15:02:53 2010 Return-Path: Delivered-To: freebsd-fs@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A0726106564A for ; Mon, 6 Dec 2010 15:02:53 +0000 (UTC) (envelope-from rmacklem@uoguelph.ca) Received: from esa-jnhn.mail.uoguelph.ca (esa-jnhn.mail.uoguelph.ca [131.104.91.44]) by mx1.freebsd.org (Postfix) with ESMTP id 600218FC1C for ; Mon, 6 Dec 2010 15:02:53 +0000 (UTC) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: ApwEALaJ/EyDaFvO/2dsb2JhbACDUKBZrRmQJ4EhgzVzBIRfhg8 X-IronPort-AV: E=Sophos;i="4.59,305,1288584000"; d="scan'208";a="103200705" Received: from erie.cs.uoguelph.ca (HELO zcs3.mail.uoguelph.ca) ([131.104.91.206]) by esa-jnhn-pri.mail.uoguelph.ca with ESMTP; 06 Dec 2010 10:02:52 -0500 Received: from zcs3.mail.uoguelph.ca (localhost.localdomain [127.0.0.1]) by zcs3.mail.uoguelph.ca (Postfix) with ESMTP id 7C210B3E95; Mon, 6 Dec 2010 10:02:52 -0500 (EST) Date: Mon, 6 Dec 2010 10:02:52 -0500 (EST) From: Rick Macklem To: =?utf-8?Q?Tom=C3=A1=C5=A1_Drbohlav?= Message-ID: <1246727856.1218036.1291647772450.JavaMail.root@erie.cs.uoguelph.ca> In-Reply-To: <4CFCB86F.6090800@karlov.mff.cuni.cz> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Originating-IP: [174.114.46.215] X-Mailer: Zimbra 6.0.7_GA_2476.RHEL4 (ZimbraWebClient - SAF3 (Mac)/6.0.7_GA_2473.RHEL4_64) Cc: freebsd-fs@freebsd.org Subject: Re: Linux (client) - FreeBSD (server) NFS4 interoperability problem X-BeenThere: freebsd-fs@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Filesystems List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 06 Dec 2010 15:02:53 -0000 > > traffic may be blocked, but we do not want server to make callbacks > anyway (we are exporting data which are being modified by Samba or > locally so no delegations and server is going to be access through > NAT) > > > 2 - Disable the server from attempting to do a callback connection > > even when the client advertises one. (At the moment this can > > only be done for Kerberized mounts by setting > > nfsrv_nogsscallback == 1 > > in sys/fs/nfsserver/nfs_nfsdstate.c. (Maybe I should add a > > sysctl > > to disable callback attempts?) > > I have try it and it solved our other problem (small delay after first > file open after connection), probably connected with server trying to > establish callback. I will check with Linux client and let you know, > but > this si what we needed anyway. > > Sysctl is a good idea, btw man nfsv4 mentions > vfs.newnfs.issue_delegations ... what is the purpose of callback other > than delegation? > I think the correct solution is to set a short (about 1sec timeout) on the callback connection attempt when no delegations are issued to that client. Unfortunately that patch isn't trivial, since the timeout needs to happen inside of the krpc and there currently isn't a timeout argument that can be passed into it for this. At the moment, vfs.newnfs.issue_delegations == 0 doesn't disable attempting to make a callback connection when the client advertises one, but I agree that it could disable callbacks since, as you note, callbacks are only useful when delegations are being issued. I'll email you a patch that does this. Btw, the other patch shouldn't be in a production server, since it would time out all connection attempts and not just callback ones. (That was why I set the timeout in it at 30sec instead of 1sec. It was just meant to test to see if the Linux client could Open successfully if the callback connection attempt timed out in less than the 1minute it waits before giving up on waiting for a reply.) rick