From owner-freebsd-current@FreeBSD.ORG Sun Aug 24 16:04:47 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 3787716A4BF for ; Sun, 24 Aug 2003 16:04:47 -0700 (PDT) Received: from HAL9000.homeunix.com (12-233-57-131.client.attbi.com [12.233.57.131]) by mx1.FreeBSD.org (Postfix) with ESMTP id 965DC43FEC for ; Sun, 24 Aug 2003 16:04:46 -0700 (PDT) (envelope-from das@FreeBSD.ORG) Received: from HAL9000.homeunix.com (localhost [127.0.0.1]) by HAL9000.homeunix.com (8.12.9/8.12.9) with ESMTP id h7ON4euQ005307; Sun, 24 Aug 2003 16:04:40 -0700 (PDT) (envelope-from das@FreeBSD.ORG) Received: (from das@localhost) by HAL9000.homeunix.com (8.12.9/8.12.9/Submit) id h7ON4eg6005306; Sun, 24 Aug 2003 16:04:40 -0700 (PDT) (envelope-from das@FreeBSD.ORG) Date: Sun, 24 Aug 2003 16:04:40 -0700 From: David Schultz To: Matthew Dillon Message-ID: <20030824230439.GA4954@HAL9000.homeunix.com> Mail-Followup-To: Matthew Dillon , freebsd-current@freebsd.org References: <200308181854.h7IIshJg098625@apollo.backplane.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <200308181854.h7IIshJg098625@apollo.backplane.com> cc: freebsd-current@FreeBSD.ORG Subject: Re: 64 bit quantities in statfs ? 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: Sun, 24 Aug 2003 23:04:47 -0000 On Mon, Aug 18, 2003, Matthew Dillon wrote: > As part of the DragonFly effort we are going to increase the > mount path limit from 80 chars to 1024. > > This will change the statfs structure. I thought I would adopt the > 64 bit changes that 5.x has made to keep things synchronized. > > Except... there don't appear to be any 64 bit changes to struct > statfs in 5.x. Am I missing something here? Is there an 'nstatfs' > structure that I have not seen? The following probably need to be 64 > bit entries: > > f_blocks > f_bfree > f_bavail > f_files > f_ffree > f_syncwrites > f_asyncwrites > f_syncreads > f_asyncreads Yep, looks broken. In the POSIX standard, the functionality of statfs() is provided by statvfs(), so implementing the latter may be a way out that doesn't involve breaking any ABIs. Unfortunately, the implementation of statvfs() in FreeBSD 5.X relies on statfs(), so it's broken despite having the correct field sizes. Moreover, statvfs() is underspecified such that it isn't actually required to do anything useful...