Re: [PATCH v4 0/15] ext4: add new online resize interface

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sun, Nov 20, 2011 at 2:13 AM, Andreas Dilger <aedilger@xxxxxxxxx> wrote:
> On 2011-11-19, at 2:57, Yongqiang Yang <xiaoqiangnk@xxxxxxxxx> wrote:
>> This patch series adds new resize implementation to ext4.
>>
>> -- What's new resize implementation?
>>   It is a new online resize interface for ext4.  It can be used via
>>   ioctl with EXT4_IOC_RESIZE_FS and a 64 bit integer indicating size
>>   of the resized fs in block.
>>
>> -- Difference between current resize and new resize.
>>   New resize lets kernel do all work, like allocating bitmaps and
>>   inode tables and can support flex_bg and BLOCK_UNINIT features.
>>   Besides these, new resize is much faster than current resize.
>>
>>   Below are benchmarks I made on my personal computer, fses with
>>   flex_bg size = 16 were resized to 230GB evry time. The first
>>   row shows the size of a fs from which the fs was resized to 230GB.
>>   The datas were collected by 'time resize2fs'.
>>
>>                      new resize
>>                20GB          50GB      100GB
>>      real    0m3.558s     0m2.891s    0m0.394s
>>      user    0m0.004s     0m0.000s    0m0.394s
>>      sys     0m0.048s     0m0.048s    0m0.028s
>>
>>                      current resize
>>                20GB          50GB      100GB
>>      real    5m2.770s     4m43.757s  3m14.840s
>>      user    0m0.040s     0m0.032s   0m0.024s
>>      sys     0m0.464s     0m0.432s   0m0.324s
>
> These stats must be backward, because resizing 20GB takes more time than resizing 100GB.
Every time, the filesystem was resized from 20/50/100GB to 230GB, so
resizing 20GB should takes more time than resizing 100GB.   I am not
sure what you meant.

Yongqiang.
>
>>   According to data above, new resize is faster than current resize in both
>>   user and sys time.  New resize performs well in sys time, because it
>>   supports BLOCK_UNINIT and adds multi-groups each time.
>>
>> -- About supporting new features.
>>   YES! New resize can support new feature like bigalloc and exclude bitmap
>>   easily.  Because it lets kernel do all work.
>>
>> V3->V4:
>>   rename __ext4_group_extend to ext4_group_extend_no_check.
>>
>> V2->V3:
>>   initialize block bitmap of last group.
>>   remove code initalizing inode bitmap and inode tables.
>>
>> Yongqiang.
>>
>> git diff --stat
>>
>> Documentation/filesystems/ext4.txt |    7 +
>> fs/ext4/ext4.h                     |   10 +
>> fs/ext4/ioctl.c                    |   39 ++
>> fs/ext4/resize.c                   | 1167 +++++++++++++++++++++++++++---------
>> 4 files changed, 942 insertions(+), 281 deletions(-)
>>
>>
>



-- 
Best Wishes
Yongqiang Yang
--
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Reiser Filesystem Development]     [Ceph FS]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Linux FS]     [Yosemite National Park]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Device Mapper]     [Linux Media]

  Powered by Linux