From owner-cvs-all@FreeBSD.ORG Sun Apr 17 16:25:36 2005 Return-Path: Delivered-To: cvs-all@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id A21AC16A4CE; Sun, 17 Apr 2005 16:25:36 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 8629D43D2D; Sun, 17 Apr 2005 16:25:36 +0000 (GMT) (envelope-from rwatson@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j3HGPa3W075732; Sun, 17 Apr 2005 16:25:36 GMT (envelope-from rwatson@repoman.freebsd.org) Received: (from rwatson@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j3HGPaDS075731; Sun, 17 Apr 2005 16:25:36 GMT (envelope-from rwatson) Message-Id: <200504171625.j3HGPaDS075731@repoman.freebsd.org> From: Robert Watson Date: Sun, 17 Apr 2005 16:25:36 +0000 (UTC) To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org X-FreeBSD-CVS-Branch: HEAD Subject: cvs commit: src/sys/nfsserver nfs.h nfs_serv.c X-BeenThere: cvs-all@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: CVS commit messages for the entire tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 17 Apr 2005 16:25:36 -0000 rwatson 2005-04-17 16:25:36 UTC FreeBSD src repository Modified files: sys/nfsserver nfs.h nfs_serv.c Log: NFS write gathering defers execution of NFS server write requests to wait to see if additional write requests will arrive that can be coalesced and clustered with earlier ones. When doing so, it must determine whether the two requests are made by credentials with the same access writes, so as not to coalesce improperly. NFSW_SAMECRED() implements a test of two credentials using a binary compare. Replace NFSW_SAMECRED() macro with nfsrv_samecred() function, which is aware of the contents and layout of a struct ucred, rather than a simple binary compare. While the binary compare works when ucred is simply a zero'd and embedded 'struct ucred' in the NFS descriptor, it will work less well when the ucred associated with an NFS descriptor is "real", so has defined and populated reference count, mutex, etc. MFC after: 1 week Obtained from: TrustedBSD Project Revision Changes Path 1.78 +0 -4 src/sys/nfsserver/nfs.h 1.156 +23 -1 src/sys/nfsserver/nfs_serv.c