Thread (10 messages) 10 messages, 1 author, 2012-09-13
STALE5062d
Revisions (2)
  1. v1 [diff vs current]
  2. v3 current

[PATCH 0/9 v3] meta_bg online resize patches

From: Theodore Ts'o <tytso@mit.edu>
Date: 2012-09-13 22:49:19

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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help