linux-ext4.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Yongqiang Yang <xiaoqiangnk@gmail.com>
To: linux-ext4@vger.kernel.org
Cc: aedilger@gmail.com, tytso@mit.edu
Subject: New resize interface implementation
Date: Thu, 11 Aug 2011 11:28:15 +0800	[thread overview]
Message-ID: <1313033308-882-1-git-send-email-xiaoqiangnk@gmail.com> (raw)

Hi all,

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

   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.

[PATCH 01/13] ext4: add a function which extends a group without
[PATCH 02/13] ext4: add a function which adds a new desc to a fs
[PATCH 03/13] ext4: add a function which sets up a new group desc
[PATCH 04/13] ext4: add a function which updates super block
[PATCH 05/13] ext4: add a structure which will be used by
[PATCH 06/13] ext4: add a function which sets up group blocks of a
[PATCH 07/13] ext4: add a function which adds several group
[PATCH 08/13] ext4: add a function which sets up a flex groups each
[PATCH 09/13] ext4: enable ext4_update_super() to handle a flex
[PATCH 10/13] ext4: pass verify_reserved_gdb() the number of group
[PATCH 11/13] ext4: add a new function which allocates bitmaps and
[PATCH 12/13] ext4: add a new function which adds a flex group to a
[PATCH 13/13] ext4: add new online resize interface


             reply	other threads:[~2011-08-11  3:35 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-08-11  3:28 Yongqiang Yang [this message]
2011-08-11  3:28 ` [PATCH 01/13] ext4: add a function which extends a group without checking parameters Yongqiang Yang
2011-08-11  5:47   ` Andreas Dilger
2011-08-11  6:27     ` Yongqiang Yang
2011-08-21 17:07       ` Ted Ts'o
2011-08-22  2:51         ` Andreas Dilger
2011-08-11  3:28 ` [PATCH 02/13] ext4: add a function which adds a new desc to a fs Yongqiang Yang
2011-08-11  5:49   ` Andreas Dilger
2011-08-11  3:28 ` [PATCH 03/13] ext4: add a function which sets up a new group desc Yongqiang Yang
2011-08-11  6:42   ` Andreas Dilger
2011-08-12  8:49     ` Yongqiang Yang
2011-08-11  3:28 ` [PATCH 04/13] ext4: add a function which updates super block Yongqiang Yang
2011-08-11  3:28 ` [PATCH 05/13] ext4: add a structure which will be used by 64bit-resize interface Yongqiang Yang
2011-08-11 10:57   ` Steven Liu
2011-08-11  3:28 ` [PATCH 06/13] ext4: add a function which sets up group blocks of a flex groups Yongqiang Yang
2011-08-11  3:28 ` [PATCH 07/13] ext4: add a function which adds several group descriptors Yongqiang Yang
2011-08-11  3:28 ` [PATCH 08/13] ext4: add a function which sets up a flex groups each time Yongqiang Yang
2011-08-11  3:28 ` [PATCH 09/13] ext4: enable ext4_update_super() to handle a flex groups Yongqiang Yang
2011-08-11  3:28 ` [PATCH 10/13] ext4: pass verify_reserved_gdb() the number of group decriptors Yongqiang Yang
2011-08-11  3:28 ` [PATCH 11/13] ext4: add a new function which allocates bitmaps and inode tables Yongqiang Yang
2011-08-11  3:28 ` [PATCH 12/13] ext4: add a new function which adds a flex group to a fs Yongqiang Yang
2011-08-11  3:28 ` [PATCH 13/13] ext4: add new online resize interface Yongqiang Yang
     [not found] ` <CAKgsxVQAwEetdyGcOciA8+wi_eLA7Fmq60kfDvEK1WzgYxdUMQ@mail.gmail.com>
2011-08-17  7:28   ` New resize interface implementation Yongqiang Yang
     [not found]     ` <CAKgsxVSfrCt6tyxDdczLYFu0YeGXfuEAA=o_5T4TOkeNXSG8iA@mail.gmail.com>
2011-08-26 20:06       ` Justin Maggard
2011-09-01 12:30         ` Amir Goldstein

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1313033308-882-1-git-send-email-xiaoqiangnk@gmail.com \
    --to=xiaoqiangnk@gmail.com \
    --cc=aedilger@gmail.com \
    --cc=linux-ext4@vger.kernel.org \
    --cc=tytso@mit.edu \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).