linux-ext4.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v5 00/15] ext4: add new online resize
@ 2011-12-23  8:14 Yongqiang Yang
  2011-12-23  8:14 ` [PATCH v5 01/15] ext4: add a function which extends a group without checking parameters Yongqiang Yang
                   ` (15 more replies)
  0 siblings, 16 replies; 18+ messages in thread
From: Yongqiang Yang @ 2011-12-23  8:14 UTC (permalink / raw)
  To: linux-ext4; +Cc: tytso

Hi all,

This is the 5th version of patch series adding new online resize 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

   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.

 V4->V5:
   release resizing lock in error case of IOC_RESIZEFS
   Thanks Djalal <tixxdz@opendz.org> for pointing it out and his patch for
   IOC_GROUP_EXTEND and IOC_GROUP_ADD.

 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.


^ permalink raw reply	[flat|nested] 18+ messages in thread

end of thread, other threads:[~2011-12-30 14:37 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-12-23  8:14 [PATCH v5 00/15] ext4: add new online resize Yongqiang Yang
2011-12-23  8:14 ` [PATCH v5 01/15] ext4: add a function which extends a group without checking parameters Yongqiang Yang
2011-12-23  8:14 ` [PATCH v5 02/15] ext4: add a function which adds a new desc to a fs Yongqiang Yang
2011-12-23  8:14 ` [PATCH v5 03/15] ext4: add a function which sets up a new group desc Yongqiang Yang
2011-12-23  8:14 ` [PATCH v5 04/15] ext4: add a function which updates super block Yongqiang Yang
2011-12-23  8:14 ` [PATCH v5 05/15] ext4: add a structure which will be used by 64bit-resize interface Yongqiang Yang
2011-12-23  8:14 ` [PATCH v5 06/15] ext4: add a function which sets up group blocks of a flex groups Yongqiang Yang
2011-12-23  8:14 ` [PATCH v5 07/15] ext4: add a function which adds several group descriptors Yongqiang Yang
2011-12-23  8:14 ` [PATCH v5 08/15] ext4: add a function which sets up a flex groups each time Yongqiang Yang
2011-12-23  8:14 ` [PATCH v5 09/15] ext4: enable ext4_update_super() to handle a flex groups Yongqiang Yang
2011-12-23  8:15 ` [PATCH v5 10/15] ext4: pass verify_reserved_gdb() the number of group decriptors Yongqiang Yang
2011-12-23  8:15 ` [PATCH v5 11/15] ext4: add a new function which allocates bitmaps and inode tables Yongqiang Yang
2011-12-23  8:15 ` [PATCH v5 12/15] ext4: add a new function which adds a flex group to a fs Yongqiang Yang
2011-12-23  8:15 ` [PATCH v5 13/15] ext4: add new online resize interface Yongqiang Yang
2011-12-23  8:15 ` [PATCH v5 14/15] ext4: let ext4_group_extend() use common code Yongqiang Yang
2011-12-23  8:15 ` [PATCH v5 15/15] ext4: let ext4_group_add() " Yongqiang Yang
2011-12-29  4:07 ` [PATCH v5 00/15] ext4: add new online resize Ted Ts'o
2011-12-30 14:37   ` Yongqiang Yang

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).