ext4: don't copy non-existent gdt blocks when resizing
authorYongqiang Yang <xiaoqiangnk@gmail.com>
Wed, 5 Sep 2012 05:25:50 +0000 (01:25 -0400)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 12 Oct 2012 20:38:48 +0000 (05:38 +0900)
commit1079d76f47379886ebfd3ae0f79a9f6cd62df29e
treeb55356b4b5ed7fae6071bc02737ed331479796e7
parent2d5a1fbc0c25ab4a2e2770a5c729467893407009
ext4: don't copy non-existent gdt blocks when resizing

commit 6df935ad2fced9033ab52078825fcaf6365f34b7 upstream.

The resize code was copying blocks at the beginning of each block
group in order to copy the superblock and block group descriptor table
(gdt) blocks.  This was, unfortunately, being done even for block
groups that did not have super blocks or gdt blocks.  This is a
complete waste of perfectly good I/O bandwidth, to skip writing those
blocks for sparse bg's.

Signed-off-by: Yongqiang Yang <xiaoqiangnk@gmail.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
fs/ext4/resize.c