I'm horsing around with ext4 again. This time on Fedora 10. Is there any
sane reason why I cannot use the *full* 16TiB volume?
----8<----
# vgcreate foo /dev/mapper/mpath*
Volume group "foo" successfully created
# lvcreate -L16T -nbar foo
Logical volume "bar" created
# mkfs.ext4 -Tlargefile4 /dev/foo/bar
mke2fs 1.41.3 (12-Oct-2008)
mkfs.ext4: Size of device /dev/foo/bar too big to be expressed in 32 bits
using a blocksize of 4096.
----8<----
But it appears to *really* allow up to one PE less than the full 16TiB,
why?
----8<----
# vgdisplay foo
--- Volume group ---
VG Name foo
System ID
Format lvm2
Metadata Areas 2
Metadata Sequence No 2
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 1
Open LV 0
Max PV 0
Cur PV 2
Act PV 2
VG Size 18.19 TB
PE Size 4.00 MB
Total PE 4769266
Alloc PE / Size 4194304 / 16.00 TB
Free PE / Size 574962 / 2.19 TB
VG UUID tPk8uJ-gIYZ-GJSU-ssob-IoYu-8AUp-pHKALO
# lvremove -f foo/bar
Logical volume "bar" successfully removed
# lvcreate -l4194303 -nbar foo
Logical volume "bar" created
# mkfs.ext4 -Tlargefile4 /dev/foo/bar
mke2fs 1.41.3 (12-Oct-2008)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
1073741824 inodes, 4294966272 blocks
214748313 blocks (5.00%) reserved for the super user
First data block=0
131072 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968,
102400000, 214990848, 512000000, 550731776, 644972544, 1934917632,
2560000000, 3855122432
This filesystem will be automatically checked every 35 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
----8<----
In my use case, I'm using much larger PEs, so the loss if just one is
significant. Is this a bug in my thinking? Or in the userland tools?
../C
_______________________________________________
Ext3-users mailing list
Ext3-users@redhat.com
https://www.redhat.com/mailman/listinfo/ext3-users
01-05-2009, 05:16 PM
Eric Sandeen
16TiB ext4
Curtis Doty wrote:
> I'm horsing around with ext4 again. This time on Fedora 10. Is there any
> sane reason why I cannot use the *full* 16TiB volume?
>
> ----8<----
> # vgcreate foo /dev/mapper/mpath*
> Volume group "foo" successfully created
> # lvcreate -L16T -nbar foo
> Logical volume "bar" created
> # mkfs.ext4 -Tlargefile4 /dev/foo/bar
> mke2fs 1.41.3 (12-Oct-2008)
> mkfs.ext4: Size of device /dev/foo/bar too big to be expressed in 32 bits
> using a blocksize of 4096.
> ----8<----
>
> But it appears to *really* allow up to one PE less than the full 16TiB,
> why?
The real limit, IIRC, is (2^32 - 1) blocks, or 4k shy of 16T for 4k blocks.
This is a little unfortunate since "lvcreate -L16T" is so handy, but it
won't mkfs properly. (ext3 should have the same limitation).
We should probably make mkfs just silently lop off one block if it
encounters a boundary condition like this ...
-Eric
_______________________________________________
Ext3-users mailing list
Ext3-users@redhat.com
https://www.redhat.com/mailman/listinfo/ext3-users
01-05-2009, 07:23 PM
Curtis Doty
16TiB ext4
12:16pm Eric Sandeen said:
The real limit, IIRC, is (2^32 - 1) blocks, or 4k shy of 16T for 4k blocks.
This is a little unfortunate since "lvcreate -L16T" is so handy, but it
won't mkfs properly. (ext3 should have the same limitation).
We should probably make mkfs just silently lop off one block if it
encounters a boundary condition like this ...
Ah, thanks Eric! That would be smart.
I'm trying to workaround, but...
----8<----
# mkfs.ext4 /dev/foo/bar $[2**32-1]
mke2fs 1.41.3 (12-Oct-2008)
mkfs.ext4: Size of device /dev/phd/dc1a too big to be expressed in 32 bits
using a blocksize of 4096.
# mkfs.ext4 /dev/foo/bar 42
# mkfs.ext4
Usage: mkfs.ext4 [-c|-l filename] [-b block-size] [-f fragment-size]
[-i bytes-per-inode] [-I inode-size] [-J journal-options]
[-G meta group size] [-N number-of-inodes]
[-m reserved-blocks-percentage] [-o creator-os]
[-g blocks-per-group] [-L volume-label] [-M last-mounted-directory]
[-O feature[,...]] [-r fs-revision] [-E extended-option[,...]]
[-T fs-type] [-jnqvFSV] device [blocks-count]
----8<----
It doesn't appear to support the blocks-count option anymore. :-( Or did
it ever?
../C
_______________________________________________
Ext3-users mailing list
Ext3-users@redhat.com
https://www.redhat.com/mailman/listinfo/ext3-users
01-05-2009, 07:31 PM
Curtis Doty
16TiB ext4
Ah whoops...forgot to paste entire example.
12:23pm Curtis Doty said:
# mkfs.ext4 /dev/foo/bar 42
mke2fs 1.41.3 (12-Oct-2008)
mkfs.ext4: Size of device /dev/phd/dc1a too big to be expressed in 32 bits
using a blocksize of 4096.
It doesn't appear to support the blocks-count option anymore. :-( Or did it
ever?
_______________________________________________
Ext3-users mailing list
Ext3-users@redhat.com
https://www.redhat.com/mailman/listinfo/ext3-users
01-05-2009, 07:41 PM
Eric Sandeen
16TiB ext4
Curtis Doty wrote:
> 12:16pm Eric Sandeen said:
>
>> The real limit, IIRC, is (2^32 - 1) blocks, or 4k shy of 16T for 4k blocks.
>>
>> This is a little unfortunate since "lvcreate -L16T" is so handy, but it
>> won't mkfs properly. (ext3 should have the same limitation).
>>
>> We should probably make mkfs just silently lop off one block if it
>> encounters a boundary condition like this ...
>>
>
> Ah, thanks Eric! That would be smart.
>
> I'm trying to workaround, but...
>
> ----8<----
> # mkfs.ext4 /dev/foo/bar $[2**32-1]
> mke2fs 1.41.3 (12-Oct-2008)
> mkfs.ext4: Size of device /dev/phd/dc1a too big to be expressed in 32 bits
> using a blocksize of 4096.
> # mkfs.ext4 /dev/foo/bar 42
> # mkfs.ext4
> Usage: mkfs.ext4 [-c|-l filename] [-b block-size] [-f fragment-size]
> [-i bytes-per-inode] [-I inode-size] [-J journal-options]
> [-G meta group size] [-N number-of-inodes]
> [-m reserved-blocks-percentage] [-o creator-os]
> [-g blocks-per-group] [-L volume-label] [-M last-mounted-directory]
> [-O feature[,...]] [-r fs-revision] [-E extended-option[,...]]
> [-T fs-type] [-jnqvFSV] device [blocks-count]
> ----8<----
>
> It doesn't appear to support the blocks-count option anymore. :-( Or did
> it ever?
it does, and did... but it's checking the device size and erroring
before it looks at the value you passed in, sigh:
[root@inode test]# mkfs.ext4 -b 4096 fsfile 4294967295
mke2fs 1.41.3 (12-Oct-2008)
fsfile is not a block special device.
Proceed anyway? (y,n) y
mkfs.ext4: Size of device fsfile too big to be expressed in 32 bits
using a blocksize of 4096.
Unless you specify -n, not that that actually gets you anywhere!
[root@inode test]# mkfs.ext4 -n -b 4096 fsfile 4294967295
mke2fs 1.41.3 (12-Oct-2008)
fsfile is not a block special device.
Proceed anyway? (y,n) y
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
1073741824 inodes, 4294967295 blocks
214748364 blocks (5.00%) reserved for the super user
First data block=0
131072 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632,
2654208,
4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968,
102400000, 214990848, 512000000, 550731776, 644972544, 1934917632,
2560000000, 3855122432
and one more block really does fail, though with a less-than-helpful
message: