linux-ext4.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Yongqiang Yang <xiaoqiangnk@gmail.com>
To: tytso@mit.edu
Cc: linux-ext4@vger.kernel.org, Yongqiang Yang <xiaoqiangnk@gmail.com>
Subject: [PATCH V3 10/15] ext4: pass verify_reserved_gdb() the number of group decriptors
Date: Tue,  8 Nov 2011 07:13:23 +0800	[thread overview]
Message-ID: <1320707608-14246-11-git-send-email-xiaoqiangnk@gmail.com> (raw)
In-Reply-To: <1320707608-14246-1-git-send-email-xiaoqiangnk@gmail.com>

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 <xiaoqiangnk@gmail.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
---
 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 fef0768..34791cb 100644
--- a/fs/ext4/resize.c
+++ b/fs/ext4/resize.c
@@ -624,10 +624,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;
@@ -702,7 +702,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;
@@ -865,7 +865,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;
-- 
1.7.5.1


  parent reply	other threads:[~2011-11-08  1:28 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-11-07 23:13 [PATCH V3 0/15] ext4: add new online resize interface Yongqiang Yang
2011-11-07 23:13 ` [PATCH V3 01/15] ext4: add a function which extends a group without checking parameters Yongqiang Yang
2011-11-08  7:12   ` Andreas Dilger
2011-11-08  8:37     ` Yongqiang Yang
2011-11-07 23:13 ` [PATCH V3 02/15] ext4: add a function which adds a new desc to a fs Yongqiang Yang
2011-11-07 23:13 ` [PATCH V3 03/15] ext4: add a function which sets up a new group desc Yongqiang Yang
2011-11-07 23:13 ` [PATCH V3 04/15] ext4: add a function which updates super block Yongqiang Yang
2011-11-07 23:13 ` [PATCH V3 05/15] ext4: add a structure which will be used by 64bit-resize interface Yongqiang Yang
2011-11-07 23:13 ` [PATCH V3 06/15] ext4: add a function which sets up group blocks of a flex groups Yongqiang Yang
2011-11-07 23:13 ` [PATCH V3 07/15] ext4: add a function which adds several group descriptors Yongqiang Yang
2011-11-07 23:13 ` [PATCH V3 08/15] ext4: add a function which sets up a flex groups each time Yongqiang Yang
2011-11-07 23:13 ` [PATCH V3 09/15] ext4: enable ext4_update_super() to handle a flex groups Yongqiang Yang
2011-11-07 23:13 ` Yongqiang Yang [this message]
2011-11-07 23:13 ` [PATCH V3 11/15] ext4: add a new function which allocates bitmaps and inode tables Yongqiang Yang
2011-11-07 23:13 ` [PATCH V3 12/15] ext4: add a new function which adds a flex group to a fs Yongqiang Yang
2011-11-07 23:13 ` [PATCH V3 13/15] ext4: add new online resize interface Yongqiang Yang
2011-11-07 23:13 ` [PATCH V3 14/15] ext4: let ext4_group_extend() use common code Yongqiang Yang
2011-11-07 23:13 ` [PATCH V3 15/15] ext4: let ext4_group_add() " Yongqiang Yang
2011-11-08  7:06 ` [PATCH V3 0/15] ext4: add new online resize interface Andreas Dilger
2011-11-08  8:38   ` Yongqiang Yang

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=1320707608-14246-11-git-send-email-xiaoqiangnk@gmail.com \
    --to=xiaoqiangnk@gmail.com \
    --cc=linux-ext4@vger.kernel.org \
    --cc=tytso@mit.edu \
    /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).