[linux-lvm] The size specified by "lvcreate -L" is not accurate

Zdenek Kabelac zdenek.kabelac at gmail.com
Thu Sep 2 14:23:34 UTC 2021

Dne 02. 09. 21 v 15:24 Gionatan Danti napsal(a):
> Il 2021-09-02 05:26 Yu, Mingli ha scritto:
>> Per
>> https://git.kernel.org/pub/scm/fs/ext2/e2fsprogs.git/tree/doc/RelNotes/v1.46.4.txt 
>> [1], after e2fsprogs upgrades to 1.46.4, the defaults for mke2fs now
>> call for 256 byte inodes for all file systems (with the exception of
>> file systems for the GNU Hurd, which only supports 128 byte inodes)
>> and use "lvcreate -L 50 -n lv_test1 vg_test && mke2fs
>> /dev/vg_test/lv_test1" and then continue to check the partiontion as
>> below.(use lvm2 2.03.11 for the test)
>>  # df -h | grep dev/mapper/vg_test-lv_test1
>>  /dev/mapper/vg_test-lv_test1   48M   14K   46M   1% /mnt/lv-test
>>  Though claim 50M as above, but it turns out to be only 48M.
> I think that allocation are done in multiple of physical extent size which, by 
> default, is at 4 MB.
> 50 is not a multiple of 4 while 48 is, so "lvcreate" probably rounded down the 
> required size.
> Using one or more "-v" should bring progressively more details.


As correctly pointed out by Gionatan - lvm2 allocates LVs in 'extent_size' 
allocation units.

So with default 4M - you could have either 48M or 52M.

In your case - you likely get 52M (as that's how lvm2 behaves - you get at 
least specified amount of space rounded up to nearest extent -  see output of 
'lvs' command.

However your formatted extX volume also does have some internal 'filesystem' 
metadata - so  LV of size 52M gives  reduced ext4 space to 48M in your case
as most likely 'ext4' header size 'cuts' away possibly 4M alignment
used by ext4.

Anyway - you if you care about max usage of every single byte on your storage 
- you could further tune/lower lvm2 metadata size + alignment + extent_size 
and also same you could tuning you could try with ext4 settings.

This way you could take back some wasted space on alignments - which normally 
is negligible amount of disk space on modern  high capacity sized drives.



More information about the linux-lvm mailing list