linux-ext4.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Theodore Ts'o <tytso@mit.edu>
To: Ext4 Developers List <linux-ext4@vger.kernel.org>
Cc: Theodore Ts'o <tytso@mit.edu>
Subject: [PATCH 0/9 v3] meta_bg online resize patches
Date: Thu, 13 Sep 2012 18:49:07 -0400	[thread overview]
Message-ID: <1347576556-5725-1-git-send-email-tytso@mit.edu> (raw)

Here is an updated meta_bg online resize patches.  This set of patches
needs to be paired with a set of e2fsprogs patches to enable online
resize.  With this set of patches, we can start with a file system which
uses the resize_inode scheme of reserved gdt blocks, but after we have
consumed all of the reserved gdt blocks, the kernel will switch over to
using the meta_bg scheme of online growth.

This works both with traditional 32-bit filesystems as well newer 64-bit
file systems.  As an example of the sort of on-line resizes that will
work, my testing included:

*  mke2fs -t ext4 /dev/vdc 2M ; mount /dev/vdc; resize2fs /dev/vdc 8G
*  mke2fs -t ext2 /dev/vdc 2M ; mount /dev/vdc; resize2fs /dev/vdc 8G
*  mke2fs -t ext4 -O 64bit /dev/vdc 12T ; mount /dev/vdc; resize2fs /dev/vdc 18T

Theodore Ts'o (6):
  ext4: grow the s_flex_groups array as needed when resizing
  ext4: grow the s_group_info array as needed
  ext4: set bg_itable_unused when resizing
  ext4: convert file system to meta_bg if needed during resizing
  ext4: log a resize update to the console every 10 seconds
  ext4: advertise the fact that the kernel supports meta_bg resizing

Yongqiang Yang (3):
  ext4: don't copy non-existent gdt blocks when resizing
  ext4: avoid duplicate writes of the backup bg descriptor blocks
  ext4: add online resizing support for meta_bg and 64-bit file systems

 fs/ext4/ext4.h    |   6 +
 fs/ext4/ioctl.c   |  15 ---
 fs/ext4/mballoc.c |  79 ++++++-----
 fs/ext4/resize.c  | 386 +++++++++++++++++++++++++++++++++++++++++++++---------
 fs/ext4/super.c   |  50 +++++--
 5 files changed, 405 insertions(+), 131 deletions(-)

-- 
1.7.12.rc0.22.gcdd159b


             reply	other threads:[~2012-09-13 22:49 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-09-13 22:49 Theodore Ts'o [this message]
2012-09-13 22:49 ` [PATCH 1/9] ext4: don't copy non-existent gdt blocks when resizing Theodore Ts'o
2012-09-13 22:49 ` [PATCH 2/9] ext4: avoid duplicate writes of the backup bg descriptor blocks Theodore Ts'o
2012-09-13 22:49 ` [PATCH 3/9] ext4: grow the s_flex_groups array as needed when resizing Theodore Ts'o
2012-09-13 22:49 ` [PATCH 4/9] ext4: grow the s_group_info array as needed Theodore Ts'o
2012-09-13 22:49 ` [PATCH 5/9] ext4: add online resizing support for meta_bg and 64-bit file systems Theodore Ts'o
2012-09-13 22:49 ` [PATCH 6/9] ext4: set bg_itable_unused when resizing Theodore Ts'o
2012-09-13 22:49 ` [PATCH 7/9] ext4: convert file system to meta_bg if needed during resizing Theodore Ts'o
2012-09-13 22:49 ` [PATCH 8/9] ext4: log a resize update to the console every 10 seconds Theodore Ts'o
2012-09-13 22:49 ` [PATCH 9/9] ext4: advertise the fact that the kernel supports meta_bg resizing Theodore Ts'o

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=1347576556-5725-1-git-send-email-tytso@mit.edu \
    --to=tytso@mit.edu \
    --cc=linux-ext4@vger.kernel.org \
    /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).