From owner-freebsd-fs@FreeBSD.ORG Thu Jun 23 06:43:50 2011 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 75A451065677; Thu, 23 Jun 2011 06:43:50 +0000 (UTC) (envelope-from gleb.kurtsou@gmail.com) Received: from mail-fx0-f54.google.com (mail-fx0-f54.google.com [209.85.161.54]) by mx1.freebsd.org (Postfix) with ESMTP id C3B8C8FC0A; Thu, 23 Jun 2011 06:43:49 +0000 (UTC) Received: by fxm11 with SMTP id 11so1627235fxm.13 for ; Wed, 22 Jun 2011 23:43:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:date:from:to:cc:subject:message-id:references :mime-version:content-type:content-disposition:in-reply-to :user-agent; bh=meFfmz2qbXsnHPJzJKUf5mpXgd6uRgjD1Aw0tzx7Jv8=; b=MCbDvSn+E/DbZ4YjVdXqL8nGNFDtLPQfjCA5rqFx17GFkmlKzfzRMnDri32w9oEhDz JrULLd8/xTO0CDznR+aH/BkxfOpWChhC4EW7XaYEJZvAULhqBM4CRUiRCI8tutlpxMcJ rtx9dlCHR4mZm11QUETPfXGvukY050NG8FRSM= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=date:from:to:cc:subject:message-id:references:mime-version :content-type:content-disposition:in-reply-to:user-agent; b=kVXaxeDSdeHilm/+kIw43JFHzQknNaTLI27QYaxUGfkFklho/M3jTlDF9KZ/Ly3nyv 9df6C2NGefQUWe8FgrYcPE4h1D+WEZP8xkhRkXDEwjdcoN1HhxsEf0jF4Yc3AihesyF3 iNSoO5hF1YNWiS0W3Kenjg+eSCI7LcZyyV8PA= Received: by 10.223.145.24 with SMTP id b24mr2150987fav.89.1308811428281; Wed, 22 Jun 2011 23:43:48 -0700 (PDT) Received: from localhost (lan-78-157-92-5.vln.skynet.lt [78.157.92.5]) by mx.google.com with ESMTPS id e16sm773166fak.17.2011.06.22.23.43.45 (version=SSLv3 cipher=OTHER); Wed, 22 Jun 2011 23:43:47 -0700 (PDT) Date: Thu, 23 Jun 2011 09:43:33 +0300 From: Gleb Kurtsou To: Garance A Drosehn Message-ID: <20110623064333.GA2823@tops> References: <20101201091203.GA3933@tops> <20110104175558.GR3140@deviant.kiev.zoral.com.ua> <20110120124108.GA32866@tops.skynet.lt> <4E027897.8080700@FreeBSD.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <4E027897.8080700@FreeBSD.org> User-Agent: Mutt/1.5.21 (2010-09-15) Cc: freebsd-fs@FreeBSD.org, Matthew Fleming Subject: Re: [rfc] 64-bit inode numbers 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: Thu, 23 Jun 2011 06:43:50 -0000 On (22/06/2011 19:19), Garance A Drosehn wrote: > On 1/20/11 7:41 AM, Gleb Kurtsou wrote: > > I've updated the patch. New version is available here: > > https://github.com/downloads/glk/freebsd-ino64/freebsd-ino64-patch-2011-01-20.tgz > > > > Changelog: > > * Add fts, ftw, nftw compat shims in libc > > * Place libc compat shims in separate files, don't hack original > > implementations. > > * Fix dump/restore > > * Use ino_t in UFS code (suggested by Kirk McKusick) > > * Keep ufs_ino_t (32 bit) for boot2 not to increase size > > > Sorry for replying to an older message, but a reply made in a different > thread reminded me about this project... > > Also, I may have asked this before. In fact, I'm almost sure that I started > a reply to this back in Jan/Feb, but my email client claims I never replied > to this topic... > > Are you increasing only the size of ino_t, or could you also look at > increasing the size of dev_t? (just curious...) Sure. Incorporating as much of similar changes as possible is good. I've added Kostik and Matthew to CC list, it's for them to decide. dev_t on other OSes: NetBSD - uint64_t DragonFly - uint32_t Darwin - __int32_t OpenSolaris - ulong_t Linux - __u32 Considering this I think 3rd party software is not ready for such change. Major/minor mapping to dev_t will get more complicated. And the most important question: what would you want it for? As far as I can see major/minor numbers are ignored nowadays, major is zero, minor increases independently of device type: crw-r--r-- 1 root wheel 0, 31 Jun 23 09:00 acpi crw-r----- 1 root operator 0, 74 Jun 23 09:00 ada0 crw-r----- 1 root operator 0, 75 Jun 23 09:00 ada0s1 crw-r----- 1 root operator 0, 76 Jun 23 09:00 ada0s2 crw-r----- 1 root operator 0, 77 Jun 23 09:00 ada0s3 crw-r----- 1 root operator 0, 81 Jun 23 09:00 ada0s3a crw-r----- 1 root operator 0, 82 Jun 23 09:00 ada0s3b crw-r----- 1 root operator 0, 83 Jun 23 09:00 ada0s3d crw-r----- 1 root operator 0, 78 Jun 23 09:00 ada0s4 crw------- 1 root operator 0, 30 Jun 23 09:00 ata crw------- 1 root wheel 0, 34 Jun 23 09:00 atkbd0 crw------- 1 root wheel 0, 25 Jun 23 09:01 bpf lrwxr-xr-x 1 root wheel 3 Jun 23 09:00 bpf0 -> bpf crw-rw-rw- 1 root wheel 0, 37 Jun 23 09:00 bpsm0 crw-r----- 1 root operator 0, 73 Jun 23 09:00 cd0 crw------- 1 root wheel 0, 6 Jun 23 09:01 console crw------- 1 root wheel 0, 54 Jun 23 09:00 consolectl crw-rw-rw- 1 root wheel 0, 17 Jun 23 09:00 ctty crw------- 1 root wheel 0, 5 Jun 23 09:00 devctl cr-------- 1 root wheel 0, 70 Jun 23 09:00 devstat crw-rw-rw- 1 root wheel 0, 112 Jun 23 09:01 dsp0.0 crw-rw-rw- 1 root wheel 0, 111 Jun 23 09:01 dsp1.0 crw-rw-rw- 1 root wheel 0, 110 Jun 23 09:01 dsp2.0 crw-rw-rw- 1 root wheel 0, 109 Jun 23 09:01 dsp3.0 crw-rw-rw- 1 root wheel 0, 108 Jun 23 09:01 dsp4.0 lrwxr-xr-x 1 root wheel 15 Jun 23 09:01 dumpdev -> /dev/label/swap dr-xr-xr-x 2 root wheel 512 Jun 23 09:00 ext2fs dr-xr-xr-x 2 root wheel 512 Jun 23 09:00 fd crw------- 1 root wheel 0, 19 Jun 23 09:00 fido crw-r----- 1 root operator 0, 3 Jun 23 09:00 geom.ctl crw------- 1 root wheel 0, 16 Jun 23 09:00 io lrwxr-xr-x 1 root wheel 6 Jun 23 09:00 kbd0 -> atkbd0 crw------- 1 root wheel 0, 7 Jun 23 09:00 klog crw-r----- 1 root kmem 0, 21 Jun 23 09:00 kmem dr-xr-xr-x 2 root wheel 512 Jun 23 09:00 label lrwxr-xr-x 1 root wheel 12 Jun 23 09:01 log -> /var/run/log crw------- 1 root wheel 0, 63 Jun 23 09:00 mdctl crw-r----- 1 root kmem 0, 20 Jun 23 09:00 mem crw-rw-rw- 1 root wheel 0, 14 Jun 23 09:00 midistat crw-rw-rw- 1 root wheel 0, 58 Jun 23 09:00 mixer0 crw-rw-rw- 1 root wheel 0, 59 Jun 23 09:00 mixer1 crw-rw-rw- 1 root wheel 0, 60 Jun 23 09:00 mixer2 crw-rw-rw- 1 root wheel 0, 61 Jun 23 09:00 mixer3 crw-rw-rw- 1 root wheel 0, 62 Jun 23 09:00 mixer4 crw------- 1 root kmem 0, 18 Jun 23 09:00 nfslock dr-xr-xr-x 2 root wheel 512 Jun 23 09:00 ntfs crw-rw-rw- 1 root wheel 0, 22 Jun 23 09:33 null crw-rw-rw- 1 root wheel 0, 32 Jun 23 09:00 nvidia0 crw-rw-rw- 1 root wheel 0, 33 Jun 23 09:00 nvidiactl crw------- 1 root operator 0, 71 Jun 23 09:00 pass0 crw------- 1 root operator 0, 72 Jun 23 09:00 pass1 crw-r--r-- 1 root wheel 0, 24 Jun 23 09:00 pci crw------- 1 root wheel 0, 103 Jun 23 09:01 pf crw-rw-rw- 1 root wheel 0, 36 Jun 23 09:00 psm0 crw-rw-rw- 1 root wheel 0, 27 Jun 23 09:00 ptmx dr-xr-xr-x 2 root wheel 512 Jun 23 09:11 pts crw-rw-rw- 1 root wheel 0, 28 Jun 23 09:01 random cr--r--r-- 1 root wheel 0, 4 Jun 23 09:00 sndstat lrwxr-xr-x 1 root wheel 4 Jun 23 09:00 stderr -> fd/2 lrwxr-xr-x 1 root wheel 4 Jun 23 09:00 stdin -> fd/0 lrwxr-xr-x 1 root wheel 4 Jun 23 09:00 stdout -> fd/1 crw------- 1 root wheel 0, 15 Jun 23 09:00 sysmouse crw------- 1 root wheel 0, 38 Jun 23 09:01 ttyv0 crw------- 1 root wheel 0, 39 Jun 23 09:01 ttyv1 crw------- 1 root wheel 0, 40 Jun 23 09:01 ttyv2 crw------- 1 root wheel 0, 41 Jun 23 09:01 ttyv3 crw------- 1 root wheel 0, 42 Jun 23 09:01 ttyv4 crw------- 1 root wheel 0, 43 Jun 23 09:01 ttyv5 crw------- 1 root wheel 0, 44 Jun 23 09:01 ttyv6 crw------- 1 root wheel 0, 45 Jun 23 09:01 ttyv7 crw------- 1 root wheel 0, 46 Jun 23 09:00 ttyv8 crw------- 1 root wheel 0, 47 Jun 23 09:00 ttyv9 crw------- 1 root wheel 0, 48 Jun 23 09:00 ttyva crw------- 1 root wheel 0, 49 Jun 23 09:00 ttyvb crw------- 1 root wheel 0, 50 Jun 23 09:00 ttyvc crw------- 1 root wheel 0, 51 Jun 23 09:00 ttyvd crw------- 1 root wheel 0, 52 Jun 23 09:00 ttyve crw------- 1 root wheel 0, 53 Jun 23 09:00 ttyvf dr-xr-xr-x 2 root wheel 512 Jun 23 09:00 ufs lrwxr-xr-x 1 root wheel 9 Jun 23 09:00 ugen0.1 -> usb/0.1.0 lrwxr-xr-x 1 root wheel 9 Jun 23 09:00 ugen0.2 -> usb/0.2.0 lrwxr-xr-x 1 root wheel 9 Jun 23 09:00 ugen1.1 -> usb/1.1.0 lrwxr-xr-x 1 root wheel 9 Jun 23 09:00 ugen1.2 -> usb/1.2.0 lrwxr-xr-x 1 root wheel 9 Jun 23 09:00 ugen1.3 -> usb/1.3.0 crw-r--r-- 1 root operator 0, 98 Jun 23 09:00 ums0 lrwxr-xr-x 1 root wheel 6 Jun 23 09:00 urandom -> random dr-xr-xr-x 2 root wheel 512 Jun 23 09:00 usb crw-r--r-- 1 root operator 0, 56 Jun 23 09:00 usbctl crw------- 1 root wheel 0, 85 Jun 23 09:01 vboxnetctl crw------- 1 root operator 0, 57 Jun 23 09:00 xpt0 crw-rw-rw- 1 root wheel 0, 23 Jun 23 09:00 zero crw-rw-rw- 1 root operator 0, 55 Jun 23 09:00 zfs Thanks, Gleb.