From owner-freebsd-current@FreeBSD.ORG Sat Nov 15 13:59:03 2003 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 9EA1816A4CE for ; Sat, 15 Nov 2003 13:59:03 -0800 (PST) Received: from apollo.backplane.com (apollo.backplane.com [216.240.41.2]) by mx1.FreeBSD.org (Postfix) with ESMTP id DE3CF43F3F for ; Sat, 15 Nov 2003 13:59:02 -0800 (PST) (envelope-from dillon@apollo.backplane.com) Received: from apollo.backplane.com (localhost [127.0.0.1]) hAFLx2iF074475; Sat, 15 Nov 2003 13:59:02 -0800 (PST) (envelope-from dillon@apollo.backplane.com) Received: (from dillon@localhost) by apollo.backplane.com (8.12.9p2/8.12.9/Submit) id hAFLx2mQ074474; Sat, 15 Nov 2003 13:59:02 -0800 (PST) (envelope-from dillon) Date: Sat, 15 Nov 2003 13:59:02 -0800 (PST) From: Matthew Dillon Message-Id: <200311152159.hAFLx2mQ074474@apollo.backplane.com> To: Terry Lambert References: <200311121855.hACItAaG006605@beastie.mckusick.com> <3FB49342.3000404@xtaz.co.uk> <3FB69EE4.20AF1C16@mindspring.com> cc: Kirk McKusick cc: freebsd-current@freebsd.org Subject: Re: HEADS-UP new statfs structure condidered harmful X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 15 Nov 2003 21:59:03 -0000 :Expect to have to recompile the entire fricking world for a change :this fundamental. : :Really, what should have appened is that the system call interface :for stat should have been retired as "ostat", a new system call :interface introduced, and the libc version number bumped, given a :change this fundamental. : :Effectively, this will destroy binary backward compatability for :everything in the world. : :-- Terry :_______________________________________________ :freebsd-current@freebsd.org mailing list I recommend that instead of rolling these sorts of system calls over and over again (how many versions of stat do we have now? A lot!), that instead you make a system call which returns a capability buffer and then have libc load the capabilities it understands into the structure. That way you don't have to worry about forwards and backwards kernel compatibility. This is what I plan to do with DragonFly for *stat(), *statfs*(), various sysctls that return structures, and so forth. Wherever it makes sense to do it. -Matt Matthew Dillon