[rfc] 64-bit inode numbers
Gleb Kurtsou
gleb.kurtsou at gmail.com
Thu Jun 23 06:43:50 UTC 2011
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.
More information about the freebsd-fs
mailing list