From patchwork Wed Feb 1 03:04:08 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Yongqiang Yang X-Patchwork-Id: 149915 Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 52E1AB7006 for ; Sun, 1 Apr 2012 22:03:42 +1000 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751315Ab2DAMDl (ORCPT ); Sun, 1 Apr 2012 08:03:41 -0400 Received: from mail-iy0-f174.google.com ([209.85.210.174]:41304 "EHLO mail-iy0-f174.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751030Ab2DAMDk (ORCPT ); Sun, 1 Apr 2012 08:03:40 -0400 Received: by iagz16 with SMTP id z16so2913062iag.19 for ; Sun, 01 Apr 2012 05:03:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:cc:subject:date:message-id:x-mailer; bh=sMz7PiodBnagcVoQNHRjp+bBfFK03g3s0kNA6iMb55I=; b=09M0U+xCnBDmz1heOARNh4EDfoZzGkX/INCvBYvTxOVwOG51YayqzVnBZznXPuXqf1 p9WMktsPleGmPl46IDY9GLvlkCnJ+jOZxpV90hWYqfdOZu7Ce6v6A3E0tTwnIXKKGm/q gWAXVUdyUnyepQov/17q/cqXykamMZ3faZABQebZoNWOz1+Te8nCIAupLmI3ZRTNS80u Z5hpT78Nmu8lLZDIWGinFRJCWrZEoLZAGUC3UdbqvJbKxBBEqVGs4Jz4C19yR7cQrseg dedj0VvhhpcYg+og7gMd7DrIk929pYx/py9L1F+mcMcypTerSTowsNWDeugaAIn/xWGa OMIw== Received: by 10.50.41.168 with SMTP id g8mr2965214igl.17.1333281820420; Sun, 01 Apr 2012 05:03:40 -0700 (PDT) Received: from localhost.localdomain ([159.226.43.42]) by mx.google.com with ESMTPS id df1sm6125573igb.12.2012.04.01.05.03.38 (version=TLSv1/SSLv3 cipher=OTHER); Sun, 01 Apr 2012 05:03:40 -0700 (PDT) From: Yongqiang Yang To: linux-ext4@vger.kernel.org, tytso@mit.edu, dsd@laptop.org Cc: Yongqiang Yang Subject: [PATCH] resize2fs: let online resizing report new blocks count right Date: Wed, 1 Feb 2012 11:04:08 +0800 Message-Id: <1328065448-13693-1-git-send-email-xiaoqiangnk@gmail.com> X-Mailer: git-send-email 1.7.5.1 Sender: linux-ext4-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-ext4@vger.kernel.org After online resizing finishes, resize2fs loads the latest super block so that the new blocks count is reported correctly. Signed-off-by: Yongqiang Yang --- resize/online.c | 16 ++++++++++++++-- 1 files changed, 14 insertions(+), 2 deletions(-) diff --git a/resize/online.c b/resize/online.c index 966ea1e..cb48556 100644 --- a/resize/online.c +++ b/resize/online.c @@ -97,8 +97,7 @@ errcode_t online_resize_fs(ext2_filsys fs, const char *mtpt, exit(1); } } else { - close(fd); - return 0; + goto succeeded; } if ((ext2fs_blocks_count(sb) > MAX_32_NUM) || @@ -220,6 +219,19 @@ errcode_t online_resize_fs(ext2_filsys fs, const char *mtpt, } ext2fs_free(new_fs); +succeeded: + /* + * load the lastest super block. + */ + io_channel_set_blksize(fs->io, SUPERBLOCK_OFFSET); + retval = io_channel_read_blk(fs->io, 1, -SUPERBLOCK_SIZE, + fs->super); + if (retval == 0) + *new_size = ext2fs_blocks_count(fs->super); + else + printf(_("Resize succeeded, however an error happened " + "when loading super block.\n\n")); + close(fd); return 0;