From patchwork Thu Aug 11 03:28:25 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Yongqiang Yang X-Patchwork-Id: 109511 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 B9E1FB6F67 for ; Thu, 11 Aug 2011 13:35:48 +1000 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754651Ab1HKDfr (ORCPT ); Wed, 10 Aug 2011 23:35:47 -0400 Received: from mail-pz0-f42.google.com ([209.85.210.42]:48649 "EHLO mail-pz0-f42.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753987Ab1HKDfq (ORCPT ); Wed, 10 Aug 2011 23:35:46 -0400 Received: by mail-pz0-f42.google.com with SMTP id 37so2947235pzk.1 for ; Wed, 10 Aug 2011 20:35:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=from:to:cc:subject:date:message-id:x-mailer:in-reply-to:references; bh=MYTAj6FPZnN80hm8SL/IY7f1vS1lMaZtUIIYMyB6u/0=; b=tqedP1V20gDnCRyd8cnMo2SYuaOewKkrZFWCqj+f4By6Hy1v/WCAeRDnE5+iWrKhPA un+wATQzd7frG6sjLtYIAP01MfcRk4BYgY2cvc/5OZqCiOXtAXzJeNai8Pt0z5OYxRK7 vSXArQbTGWz+bcbje9azDDUi1sOm92N3ZOggw= Received: by 10.142.188.7 with SMTP id l7mr7358396wff.385.1313033746558; Wed, 10 Aug 2011 20:35:46 -0700 (PDT) Received: from localhost.localdomain ([159.226.43.42]) by mx.google.com with ESMTPS id g4sm1390823pbj.25.2011.08.10.20.35.44 (version=TLSv1/SSLv3 cipher=OTHER); Wed, 10 Aug 2011 20:35:46 -0700 (PDT) From: Yongqiang Yang To: linux-ext4@vger.kernel.org Cc: aedilger@gmail.com, tytso@mit.edu, Yongqiang Yang Subject: [PATCH 10/13] ext4: pass verify_reserved_gdb() the number of group decriptors Date: Thu, 11 Aug 2011 11:28:25 +0800 Message-Id: <1313033308-882-11-git-send-email-xiaoqiangnk@gmail.com> X-Mailer: git-send-email 1.7.5.1 In-Reply-To: <1313033308-882-1-git-send-email-xiaoqiangnk@gmail.com> References: <1313033308-882-1-git-send-email-xiaoqiangnk@gmail.com> Sender: linux-ext4-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-ext4@vger.kernel.org The 64bit resizer adds a flex group each time, so verify_reserved_gdb can not use s_groups_count directly, it should use the number of group decriptors before the added group. Signed-off-by: Yongqiang Yang --- fs/ext4/resize.c | 7 ++++--- 1 files changed, 4 insertions(+), 3 deletions(-) diff --git a/fs/ext4/resize.c b/fs/ext4/resize.c index 606de3a..86edf19 100644 --- a/fs/ext4/resize.c +++ b/fs/ext4/resize.c @@ -656,10 +656,10 @@ static unsigned ext4_list_backups(struct super_block *sb, unsigned *three, * groups in current filesystem that have BACKUPS, or -ve error code. */ static int verify_reserved_gdb(struct super_block *sb, + ext4_group_t end, struct buffer_head *primary) { const ext4_fsblk_t blk = primary->b_blocknr; - const ext4_group_t end = EXT4_SB(sb)->s_groups_count; unsigned three = 1; unsigned five = 5; unsigned seven = 7; @@ -734,7 +734,7 @@ static int add_new_gdb(handle_t *handle, struct inode *inode, if (!gdb_bh) return -EIO; - gdbackups = verify_reserved_gdb(sb, gdb_bh); + gdbackups = verify_reserved_gdb(sb, group, gdb_bh); if (gdbackups < 0) { err = gdbackups; goto exit_bh; @@ -897,7 +897,8 @@ static int reserve_backup_gdb(handle_t *handle, struct inode *inode, err = -EIO; goto exit_bh; } - if ((gdbackups = verify_reserved_gdb(sb, primary[res])) < 0) { + gdbackups = verify_reserved_gdb(sb, group, primary[res]); + if (gdbackups < 0) { brelse(primary[res]); err = gdbackups; goto exit_bh;