From owner-freebsd-fs@FreeBSD.ORG Sun Jun 29 13:14:53 2008 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 6B3081065670; Sun, 29 Jun 2008 13:14:53 +0000 (UTC) (envelope-from kostikbel@gmail.com) Received: from mail.zoral.com.ua (skuns.zoral.com.ua [91.193.166.194]) by mx1.freebsd.org (Postfix) with ESMTP id F405A8FC1E; Sun, 29 Jun 2008 13:14:52 +0000 (UTC) (envelope-from kostikbel@gmail.com) Received: from deviant.kiev.zoral.com.ua (root@deviant.kiev.zoral.com.ua [10.1.1.148]) by mail.zoral.com.ua (8.14.2/8.14.2) with ESMTP id m5TCqNSt040365 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Sun, 29 Jun 2008 15:52:23 +0300 (EEST) (envelope-from kostikbel@gmail.com) Received: from deviant.kiev.zoral.com.ua (kostik@localhost [127.0.0.1]) by deviant.kiev.zoral.com.ua (8.14.2/8.14.2) with ESMTP id m5TCbYmx011306; Sun, 29 Jun 2008 15:37:34 +0300 (EEST) (envelope-from kostikbel@gmail.com) Received: (from kostik@localhost) by deviant.kiev.zoral.com.ua (8.14.2/8.14.2/Submit) id m5TCbXLV011305; Sun, 29 Jun 2008 15:37:33 +0300 (EEST) (envelope-from kostikbel@gmail.com) X-Authentication-Warning: deviant.kiev.zoral.com.ua: kostik set sender to kostikbel@gmail.com using -f Date: Sun, 29 Jun 2008 15:37:33 +0300 From: Kostik Belousov To: Jeremy Chadwick Message-ID: <20080629123733.GO17123@deviant.kiev.zoral.com.ua> References: <20080628132632.R1807@kozubik.com> <20080628235832.GA15910@eos.sc1.parodius.com> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="chReQkDOePndSGWY" Content-Disposition: inline In-Reply-To: <20080628235832.GA15910@eos.sc1.parodius.com> User-Agent: Mutt/1.4.2.3i X-Virus-Scanned: ClamAV version 0.91.2, clamav-milter version 0.91.2 on skuns.kiev.zoral.com.ua X-Virus-Status: Clean X-Spam-Status: No, score=-4.4 required=5.0 tests=ALL_TRUSTED,AWL,BAYES_00 autolearn=ham version=3.2.4 X-Spam-Checker-Version: SpamAssassin 3.2.4 (2008-01-01) on skuns.kiev.zoral.com.ua Cc: freebsd-fs@freebsd.org Subject: Re: It's 2008. 1 TB disk drives cost $160. Quotas are 32-bit. 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: Sun, 29 Jun 2008 13:14:53 -0000 --chReQkDOePndSGWY Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Sat, Jun 28, 2008 at 04:58:32PM -0700, Jeremy Chadwick wrote: > On Sat, Jun 28, 2008 at 02:56:03PM -0700, John Kozubik wrote: > > I needed to set a user quota of greater than 2 TB today. I failed, > > because FreeBSD does not have 64-bit quota tools. > >=20 > > I wasted a fair amount of time trying to track down what I assumed was = my > > own user error. Surely there is _no way_ that an enterprise operating > > system, in 2008, has 32-bit quotas. > >=20 > > Now I know better. > >=20 > > I am upset to find that several of my non-technical friends now have > > larger filesystems _in their living rooms_ than FreeBSD can handle with > > quotas. > >=20 > > Quotas are a long-standing, core piece of filesystem functionality and > > have been considered a bedrock of unix operating systems for decades. > > There is nothing new or experimental in moving quotas from 32 to 64 bit. > >=20 > > This is _as opposed to_ porting ZFS to FreeBSD, and gjournal, and every > > other shiny bauble that has monopolized freebsd-fs in the last four yea= rs. > > Those are new. Those are experimental. > >=20 > > Apparently those take priority. > >=20 > > I don't have time to monitor the core pieces of FreeBSD to make sure _t= hey > > still exist_. Further, while I might have volunteered to help with the > > code back in 2004, when it took 5 hard drives to max out the usefulness= of > > the filesystem, that's not how I'll be spending my time in 2008. > >=20 > > So I'll try this instead: > >=20 > > I will paypal $1000 to whoever can deliver fully clean 64-bit quotas > > and userland tools in FreeBSD by July 20, 2008. > >=20 > > That is, if you can tear yourself away from ZFS and whatever sexy SMP > > improvements you're building into FreeBSD 14.0 for a week. >=20 > John, >=20 > We don't use quotas here, but FWIW, I agree with you. Additionally, > that 2GB limit should really be 4GB; someone likely used a signed number > instead of unsigned. >=20 > I'll take this project on (and there's no need for any monetary > exchange) if I can make heads or tails of the existing quota > infrastructure. No promises, but I'll at least look into it. I > definitely can't meet the July 20th deadline, sorry about that. The change alone of the 32/31-bit fields in the struct dqblk to the 64-bit is a trivial part. I think in-kernel part would simply work after the conversion, but I have no idea about user-mode utilites. Most likely, usermode would require some tweaking. Not so easy is the backward compatibility. Quota file is read/written directly by the kernel, and have no useful magic sequence to identify it. Some external measures are needed to inform kernel about the version of the dqblk on the disk. Then, either code shall be conditionalized to do the keeping in 32/64 bitness (preferrable), or old dqblk layout shall be converted from/to on i/o. Another useful thing to do with in-kernel quota implementation is to move it from ufs/ to the generic VFS service. Again, the code is mostly filesystem-neutral, and the change should be in the interfaces. This would make addition of the quota support for some non-ufs filesystems nearly trivial. --chReQkDOePndSGWY Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.9 (FreeBSD) iEYEARECAAYFAkhngg0ACgkQC3+MBN1Mb4jjtgCg4qEHtKjnCZGtTEeFQ+68msnG GaMAnjpRhKcH3tnI3FuYhXBiDn600uHd =yliK -----END PGP SIGNATURE----- --chReQkDOePndSGWY--