Andrea Conti writes:

> > AFAIK you will gain more inodes when you increase the size.
> 
> Only because by unless you specify a value mke2fs allocates a number of
> inodes proportional to the size of the filesystem, with the default
> being 1 inode every 16kB (see /etc/mke2fs.conf).
> 
> But for ext[234] the number of inodes is fixed at filesystem creation,
> so even if you use LVM you can't increase it by -- say -- growing the
> underlying LV and then using resize2fs.

So I just tried that, create a small fs, filled it until no inodes were 
left. Resized, and gained more inodes:

weird ~ # lvcreate -L 4M -n inodetest weird
  Logical volume "inodetest" created

weird ~ # mke2fs -j /dev/weird/inodetest
mke2fs 1.41.14 (22-Dec-2010)
Filesystem label=
OS type: Linux
Block size=1024 (log=0)
Fragment size=1024 (log=0)
Stride=0 blocks, Stripe width=0 blocks
1024 inodes, 4096 blocks
[...]

weird ~ # mount /dev/weird/inodetest /mnt/

weird ~ # for (( i=1; ; i++ ))
> do
>   touch "/mnt/$( printf "file %06d" $i )" || break
> done                    
touch: cannot touch `/mnt/file 001014': No space left on device

weird ~ # df -i /mnt/
Filesystem                  Inodes IUsed IFree IUse% Mounted on
/dev/mapper/weird-inodetest   1024  1024     0  100% /mnt

weird ~ # lvresize -L 16M /dev/weird/inodetest 
  Extending logical volume inodetest to 16,00 MiB
  Logical volume inodetest successfully resized

weird ~ # resize2fs /dev/weird/inodetest 
resize2fs 1.41.14 (22-Dec-2010)
Filesystem at /dev/weird/inodetest is mounted on /mnt; on-line resizing 
required
old desc_blocks = 1, new_desc_blocks = 1
Performing an on-line resize of /dev/weird/inodetest to 16384 (1k) blocks.
The filesystem on /dev/weird/inodetest is now 16384 blocks long.

weird ~ # df -i /mnt/
Filesystem                  Inodes IUsed IFree IUse% Mounted on
/dev/mapper/weird-inodetest   2048  1024  1024   50% /mnt

        Wonko

Reply via email to