Add patch SR-ext4-resize-mark-new-group-EXT_BG_INODE_ZEROED.patch
[ext4-patch-queue/an.git] / make-group_t-be-unsigned-int
blob3220b18a40aafed690d399b0920559e7014bf8c3
1 ext4: Make ext4_group_t be an unsigned int
3 Nearly all places in the ext3/4 code which uses "unsigned long" is
4 probably a bug, since on 32-bit systems a ulong a 32-bits, which means
5 we are wasting stack space on 64-bit systems.
7 Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
8 diff --git a/fs/ext4/balloc.c b/fs/ext4/balloc.c
9 index 752eddc..a7e9b2c 100644
10 --- a/fs/ext4/balloc.c
11 +++ b/fs/ext4/balloc.c
12 @@ -100,7 +100,7 @@ unsigned ext4_init_block_bitmap(struct super_block *sb, struct buffer_head *bh,
13                  * essentially implementing a per-group read-only flag. */
14                 if (!ext4_group_desc_csum_verify(sbi, block_group, gdp)) {
15                         ext4_error(sb, __func__,
16 -                                 "Checksum bad for group %lu\n", block_group);
17 +                                 "Checksum bad for group %u\n", block_group);
18                         gdp->bg_free_blocks_count = 0;
19                         gdp->bg_free_inodes_count = 0;
20                         gdp->bg_itable_unused = 0;
21 @@ -213,7 +213,7 @@ struct ext4_group_desc * ext4_get_group_desc(struct super_block *sb,
22         if (block_group >= sbi->s_groups_count) {
23                 ext4_error(sb, "ext4_get_group_desc",
24                            "block_group >= groups_count - "
25 -                          "block_group = %lu, groups_count = %lu",
26 +                          "block_group = %u, groups_count = %u",
27                            block_group, sbi->s_groups_count);
29                 return NULL;
30 @@ -225,7 +225,7 @@ struct ext4_group_desc * ext4_get_group_desc(struct super_block *sb,
31         if (!sbi->s_group_desc[group_desc]) {
32                 ext4_error(sb, "ext4_get_group_desc",
33                            "Group descriptor not loaded - "
34 -                          "block_group = %lu, group_desc = %lu, desc = %lu",
35 +                          "block_group = %u, group_desc = %lu, desc = %lu",
36                            block_group, group_desc, offset);
37                 return NULL;
38         }
39 @@ -315,7 +315,7 @@ ext4_read_block_bitmap(struct super_block *sb, ext4_group_t block_group)
40         if (unlikely(!bh)) {
41                 ext4_error(sb, __func__,
42                             "Cannot read block bitmap - "
43 -                           "block_group = %lu, block_bitmap = %llu",
44 +                           "block_group = %u, block_bitmap = %llu",
45                             block_group, bitmap_blk);
46                 return NULL;
47         }
48 @@ -337,7 +337,7 @@ ext4_read_block_bitmap(struct super_block *sb, ext4_group_t block_group)
49                 put_bh(bh);
50                 ext4_error(sb, __func__,
51                             "Cannot read block bitmap - "
52 -                           "block_group = %lu, block_bitmap = %llu",
53 +                           "block_group = %u, block_bitmap = %llu",
54                             block_group, bitmap_blk);
55                 return NULL;
56         }
57 diff --git a/fs/ext4/ext4.h b/fs/ext4/ext4.h
58 index 8370ffd..ba3ed65 100644
59 --- a/fs/ext4/ext4.h
60 +++ b/fs/ext4/ext4.h
61 @@ -958,7 +958,7 @@ ext4_group_first_block_no(struct super_block *sb, ext4_group_t group_no)
62  #define ERR_BAD_DX_DIR -75000
64  void ext4_get_group_no_and_offset(struct super_block *sb, ext4_fsblk_t blocknr,
65 -                       unsigned long *blockgrpp, ext4_grpblk_t *offsetp);
66 +                       ext4_group_t *blockgrpp, ext4_grpblk_t *offsetp);
68  extern struct proc_dir_entry *ext4_proc_root;
70 diff --git a/fs/ext4/ext4_i.h b/fs/ext4/ext4_i.h
71 index acc0b72..0a9ebe5 100644
72 --- a/fs/ext4/ext4_i.h
73 +++ b/fs/ext4/ext4_i.h
74 @@ -31,7 +31,7 @@ typedef unsigned long long ext4_fsblk_t;
75  typedef __u32 ext4_lblk_t;
77  /* data type for block group number */
78 -typedef unsigned long ext4_group_t;
79 +typedef unsigned int ext4_group_t;
81  #define rsv_start rsv_window._rsv_start
82  #define rsv_end rsv_window._rsv_end
83 diff --git a/fs/ext4/ialloc.c b/fs/ext4/ialloc.c
84 index c8ea50e..cfffdd2 100644
85 --- a/fs/ext4/ialloc.c
86 +++ b/fs/ext4/ialloc.c
87 @@ -74,7 +74,7 @@ unsigned ext4_init_inode_bitmap(struct super_block *sb, struct buffer_head *bh,
88         /* If checksum is bad mark all blocks and inodes use to prevent
89          * allocation, essentially implementing a per-group read-only flag. */
90         if (!ext4_group_desc_csum_verify(sbi, block_group, gdp)) {
91 -               ext4_error(sb, __func__, "Checksum bad for group %lu\n",
92 +               ext4_error(sb, __func__, "Checksum bad for group %u\n",
93                            block_group);
94                 gdp->bg_free_blocks_count = 0;
95                 gdp->bg_free_inodes_count = 0;
96 @@ -111,7 +111,7 @@ ext4_read_inode_bitmap(struct super_block *sb, ext4_group_t block_group)
97         if (unlikely(!bh)) {
98                 ext4_error(sb, __func__,
99                             "Cannot read inode bitmap - "
100 -                           "block_group = %lu, inode_bitmap = %llu",
101 +                           "block_group = %u, inode_bitmap = %llu",
102                             block_group, bitmap_blk);
103                 return NULL;
104         }
105 @@ -133,7 +133,7 @@ ext4_read_inode_bitmap(struct super_block *sb, ext4_group_t block_group)
106                 put_bh(bh);
107                 ext4_error(sb, __func__,
108                             "Cannot read inode bitmap - "
109 -                           "block_group = %lu, inode_bitmap = %llu",
110 +                           "block_group = %u, inode_bitmap = %llu",
111                             block_group, bitmap_blk);
112                 return NULL;
113         }
114 @@ -689,7 +689,7 @@ got:
115             ino > EXT4_INODES_PER_GROUP(sb)) {
116                 ext4_error(sb, __func__,
117                            "reserved inode or inode > inodes count - "
118 -                          "block_group = %lu, inode=%lu", group,
119 +                          "block_group = %u, inode=%lu", group,
120                            ino + group * EXT4_INODES_PER_GROUP(sb));
121                 err = -EIO;
122                 goto fail;
123 diff --git a/fs/ext4/mballoc.c b/fs/ext4/mballoc.c
124 index 444ad99..233d59d 100644
125 --- a/fs/ext4/mballoc.c
126 +++ b/fs/ext4/mballoc.c
127 @@ -447,7 +447,7 @@ static void mb_free_blocks_double(struct inode *inode, struct ext4_buddy *e4b,
128                             le32_to_cpu(EXT4_SB(sb)->s_es->s_first_data_block);
130                         ext4_error(sb, __func__, "double-free of inode"
131 -                                  " %lu's block %llu(bit %u in group %lu)\n",
132 +                                  " %lu's block %llu(bit %u in group %u)\n",
133                                    inode ? inode->i_ino : 0, blocknr,
134                                    first + i, e4b->bd_group);
135                 }
136 @@ -477,7 +477,7 @@ static void mb_cmp_bitmaps(struct ext4_buddy *e4b, void *bitmap)
137                 b2 = (unsigned char *) bitmap;
138                 for (i = 0; i < e4b->bd_sb->s_blocksize; i++) {
139                         if (b1[i] != b2[i]) {
140 -                               printk(KERN_ERR "corruption in group %lu "
141 +                               printk(KERN_ERR "corruption in group %u "
142                                        "at byte %u(%u): %x in copy != %x "
143                                        "on disk/prealloc\n",
144                                        e4b->bd_group, i, i * 8, b1[i], b2[i]);
145 @@ -691,7 +691,7 @@ static void ext4_mb_generate_buddy(struct super_block *sb,
147         if (free != grp->bb_free) {
148                 ext4_error(sb, __func__,
149 -                       "EXT4-fs: group %lu: %u blocks in bitmap, %u in gd\n",
150 +                       "EXT4-fs: group %u: %u blocks in bitmap, %u in gd\n",
151                         group, free, grp->bb_free);
152                 /*
153                  * If we intent to continue, we consider group descritor
154 @@ -800,7 +800,7 @@ static int ext4_mb_init_cache(struct page *page, char *incore)
155                 get_bh(bh[i]);
156                 bh[i]->b_end_io = end_buffer_read_sync;
157                 submit_bh(READ, bh[i]);
158 -               mb_debug("read bitmap for group %lu\n", first_group + i);
159 +               mb_debug("read bitmap for group %u\n", first_group + i);
160         }
162         /* wait for I/O completion */
163 @@ -895,7 +895,7 @@ ext4_mb_load_buddy(struct super_block *sb, ext4_group_t group,
164         struct page *page;
165         int ret;
167 -       mb_debug("load group %lu\n", group);
168 +       mb_debug("load group %u\n", group);
170         blocks_per_page = PAGE_CACHE_SIZE / sb->s_blocksize;
172 @@ -1096,7 +1096,7 @@ static void mb_free_blocks(struct inode *inode, struct ext4_buddy *e4b,
173                             le32_to_cpu(EXT4_SB(sb)->s_es->s_first_data_block);
174                         ext4_unlock_group(sb, e4b->bd_group);
175                         ext4_error(sb, __func__, "double-free of inode"
176 -                                  " %lu's block %llu(bit %u in group %lu)\n",
177 +                                  " %lu's block %llu(bit %u in group %u)\n",
178                                    inode ? inode->i_ino : 0, blocknr, block,
179                                    e4b->bd_group);
180                         ext4_lock_group(sb, e4b->bd_group);
181 @@ -1932,13 +1932,13 @@ static int ext4_mb_seq_history_show(struct seq_file *seq, void *v)
182         if (hs->op == EXT4_MB_HISTORY_ALLOC) {
183                 fmt = "%-5u %-8u %-23s %-23s %-23s %-5u %-5u %-2u "
184                         "%-5u %-5s %-5u %-6u\n";
185 -               sprintf(buf2, "%lu/%d/%u@%u", hs->result.fe_group,
186 +               sprintf(buf2, "%u/%d/%u@%u", hs->result.fe_group,
187                         hs->result.fe_start, hs->result.fe_len,
188                         hs->result.fe_logical);
189 -               sprintf(buf, "%lu/%d/%u@%u", hs->orig.fe_group,
190 +               sprintf(buf, "%u/%d/%u@%u", hs->orig.fe_group,
191                         hs->orig.fe_start, hs->orig.fe_len,
192                         hs->orig.fe_logical);
193 -               sprintf(buf3, "%lu/%d/%u@%u", hs->goal.fe_group,
194 +               sprintf(buf3, "%u/%d/%u@%u", hs->goal.fe_group,
195                         hs->goal.fe_start, hs->goal.fe_len,
196                         hs->goal.fe_logical);
197                 seq_printf(seq, fmt, hs->pid, hs->ino, buf, buf3, buf2,
198 @@ -1947,20 +1947,20 @@ static int ext4_mb_seq_history_show(struct seq_file *seq, void *v)
199                                 hs->buddy ? 1 << hs->buddy : 0);
200         } else if (hs->op == EXT4_MB_HISTORY_PREALLOC) {
201                 fmt = "%-5u %-8u %-23s %-23s %-23s\n";
202 -               sprintf(buf2, "%lu/%d/%u@%u", hs->result.fe_group,
203 +               sprintf(buf2, "%u/%d/%u@%u", hs->result.fe_group,
204                         hs->result.fe_start, hs->result.fe_len,
205                         hs->result.fe_logical);
206 -               sprintf(buf, "%lu/%d/%u@%u", hs->orig.fe_group,
207 +               sprintf(buf, "%u/%d/%u@%u", hs->orig.fe_group,
208                         hs->orig.fe_start, hs->orig.fe_len,
209                         hs->orig.fe_logical);
210                 seq_printf(seq, fmt, hs->pid, hs->ino, buf, "", buf2);
211         } else if (hs->op == EXT4_MB_HISTORY_DISCARD) {
212 -               sprintf(buf2, "%lu/%d/%u", hs->result.fe_group,
213 +               sprintf(buf2, "%u/%d/%u", hs->result.fe_group,
214                         hs->result.fe_start, hs->result.fe_len);
215                 seq_printf(seq, "%-5u %-8u %-23s discard\n",
216                                 hs->pid, hs->ino, buf2);
217         } else if (hs->op == EXT4_MB_HISTORY_FREE) {
218 -               sprintf(buf2, "%lu/%d/%u", hs->result.fe_group,
219 +               sprintf(buf2, "%u/%d/%u", hs->result.fe_group,
220                         hs->result.fe_start, hs->result.fe_len);
221                 seq_printf(seq, "%-5u %-8u %-23s free\n",
222                                 hs->pid, hs->ino, buf2);
223 @@ -2073,7 +2073,7 @@ static void *ext4_mb_seq_groups_start(struct seq_file *seq, loff_t *pos)
224                 return NULL;
226         group = *pos + 1;
227 -       return (void *) group;
228 +       return (void *) ((unsigned long) group);
231  static void *ext4_mb_seq_groups_next(struct seq_file *seq, void *v, loff_t *pos)
232 @@ -2086,13 +2086,13 @@ static void *ext4_mb_seq_groups_next(struct seq_file *seq, void *v, loff_t *pos)
233         if (*pos < 0 || *pos >= sbi->s_groups_count)
234                 return NULL;
235         group = *pos + 1;
236 -       return (void *) group;;
237 +       return (void *) ((unsigned long) group);
240  static int ext4_mb_seq_groups_show(struct seq_file *seq, void *v)
242         struct super_block *sb = seq->private;
243 -       long group = (long) v;
244 +       ext4_group_t group = (ext4_group_t) ((unsigned long) v);
245         int i;
246         int err;
247         struct ext4_buddy e4b;
248 @@ -2114,7 +2114,7 @@ static int ext4_mb_seq_groups_show(struct seq_file *seq, void *v)
249                 sizeof(struct ext4_group_info);
250         err = ext4_mb_load_buddy(sb, group, &e4b);
251         if (err) {
252 -               seq_printf(seq, "#%-5lu: I/O error\n", group);
253 +               seq_printf(seq, "#%-5u: I/O error\n", group);
254                 return 0;
255         }
256         ext4_lock_group(sb, group);
257 @@ -2122,7 +2122,7 @@ static int ext4_mb_seq_groups_show(struct seq_file *seq, void *v)
258         ext4_unlock_group(sb, group);
259         ext4_mb_release_desc(&e4b);
261 -       seq_printf(seq, "#%-5lu: %-5u %-5u %-5u [", group, sg.info.bb_free,
262 +       seq_printf(seq, "#%-5u: %-5u %-5u %-5u [", group, sg.info.bb_free,
263                         sg.info.bb_fragments, sg.info.bb_first_free);
264         for (i = 0; i <= 13; i++)
265                 seq_printf(seq, " %-5u", i <= sb->s_blocksize_bits + 1 ?
266 @@ -2457,7 +2457,7 @@ static int ext4_mb_init_backend(struct super_block *sb)
267                 desc = ext4_get_group_desc(sb, i, NULL);
268                 if (desc == NULL) {
269                         printk(KERN_ERR
270 -                               "EXT4-fs: can't read descriptor %lu\n", i);
271 +                               "EXT4-fs: can't read descriptor %u\n", i);
272                         goto err_freebuddy;
273                 }
274                 if (ext4_mb_add_groupinfo(sb, i, desc) != 0)
275 @@ -2652,7 +2652,7 @@ static void release_blocks_on_commit(journal_t *journal, transaction_t *txn)
276         list_for_each_safe(l, ltmp, &txn->t_private_list) {
277                 entry = list_entry(l, struct ext4_free_data, list);
279 -               mb_debug("gonna free %u blocks in group %lu (0x%p):",
280 +               mb_debug("gonna free %u blocks in group %u (0x%p):",
281                          entry->count, entry->group, entry);
283                 err = ext4_mb_load_buddy(sb, entry->group, &e4b);
284 @@ -2824,7 +2824,7 @@ ext4_mb_mark_diskspace_used(struct ext4_allocation_context *ac,
285         if (!gdp)
286                 goto out_err;
288 -       ext4_debug("using block group %lu(%d)\n", ac->ac_b_ex.fe_group,
289 +       ext4_debug("using block group %u(%d)\n", ac->ac_b_ex.fe_group,
290                         gdp->bg_free_blocks_count);
292         err = ext4_journal_get_write_access(handle, gdp_bh);
293 @@ -3346,7 +3346,7 @@ static void ext4_mb_generate_from_pa(struct super_block *sb, void *bitmap,
294                 preallocated += len;
295                 count++;
296         }
297 -       mb_debug("prellocated %u for group %lu\n", preallocated, group);
298 +       mb_debug("prellocated %u for group %u\n", preallocated, group);
301  static void ext4_mb_pa_callback(struct rcu_head *head)
302 @@ -3363,7 +3363,7 @@ static void ext4_mb_pa_callback(struct rcu_head *head)
303  static void ext4_mb_put_pa(struct ext4_allocation_context *ac,
304                         struct super_block *sb, struct ext4_prealloc_space *pa)
306 -       unsigned long grp;
307 +       ext4_group_t grp;
309         if (!atomic_dec_and_test(&pa->pa_count) || pa->pa_free != 0)
310                 return;
311 @@ -3692,7 +3692,7 @@ ext4_mb_discard_group_preallocations(struct super_block *sb,
312         int busy = 0;
313         int free = 0;
315 -       mb_debug("discard preallocation for group %lu\n", group);
316 +       mb_debug("discard preallocation for group %u\n", group);
318         if (list_empty(&grp->bb_prealloc_list))
319                 return 0;
320 @@ -3700,14 +3700,14 @@ ext4_mb_discard_group_preallocations(struct super_block *sb,
321         bitmap_bh = ext4_read_block_bitmap(sb, group);
322         if (bitmap_bh == NULL) {
323                 ext4_error(sb, __func__, "Error in reading block "
324 -                               "bitmap for %lu\n", group);
325 +                               "bitmap for %u\n", group);
326                 return 0;
327         }
329         err = ext4_mb_load_buddy(sb, group, &e4b);
330         if (err) {
331                 ext4_error(sb, __func__, "Error in loading buddy "
332 -                               "information for %lu\n", group);
333 +                               "information for %u\n", group);
334                 put_bh(bitmap_bh);
335                 return 0;
336         }
337 @@ -3874,14 +3874,14 @@ repeat:
338                 err = ext4_mb_load_buddy(sb, group, &e4b);
339                 if (err) {
340                         ext4_error(sb, __func__, "Error in loading buddy "
341 -                                       "information for %lu\n", group);
342 +                                       "information for %u\n", group);
343                         continue;
344                 }
346                 bitmap_bh = ext4_read_block_bitmap(sb, group);
347                 if (bitmap_bh == NULL) {
348                         ext4_error(sb, __func__, "Error in reading block "
349 -                                       "bitmap for %lu\n", group);
350 +                                       "bitmap for %u\n", group);
351                         ext4_mb_release_desc(&e4b);
352                         continue;
353                 }
354 @@ -4146,7 +4146,7 @@ ext4_mb_discard_lg_preallocations(struct super_block *sb,
355                 ext4_get_group_no_and_offset(sb, pa->pa_pstart, &group, NULL);
356                 if (ext4_mb_load_buddy(sb, group, &e4b)) {
357                         ext4_error(sb, __func__, "Error in loading buddy "
358 -                                       "information for %lu\n", group);
359 +                                       "information for %u\n", group);
360                         continue;
361                 }
362                 ext4_lock_group(sb, group);
363 diff --git a/fs/ext4/resize.c b/fs/ext4/resize.c
364 index b6ec184..498ccbc 100644
365 --- a/fs/ext4/resize.c
366 +++ b/fs/ext4/resize.c
367 @@ -50,7 +50,7 @@ static int verify_group_input(struct super_block *sb,
368         ext4_get_group_no_and_offset(sb, start, NULL, &offset);
369         if (group != sbi->s_groups_count)
370                 ext4_warning(sb, __func__,
371 -                            "Cannot add at group %u (only %lu groups)",
372 +                            "Cannot add at group %u (only %u groups)",
373                              input->group, sbi->s_groups_count);
374         else if (offset != 0)
375                         ext4_warning(sb, __func__, "Last group not full");
376 @@ -715,7 +715,7 @@ static void update_backups(struct super_block *sb,
377  exit_err:
378         if (err) {
379                 ext4_warning(sb, __func__,
380 -                            "can't update backup for group %lu (err %d), "
381 +                            "can't update backup for group %u (err %d), "
382                              "forcing fsck on next reboot", group, err);
383                 sbi->s_mount_state &= ~EXT4_VALID_FS;
384                 sbi->s_es->s_state &= cpu_to_le16(~EXT4_VALID_FS);
385 diff --git a/fs/ext4/super.c b/fs/ext4/super.c
386 index 7b3ba42..d4c84f4 100644
387 --- a/fs/ext4/super.c
388 +++ b/fs/ext4/super.c
389 @@ -1423,7 +1423,7 @@ static int ext4_setup_super(struct super_block *sb, struct ext4_super_block *es,
391         ext4_commit_super(sb, es, 1);
392         if (test_opt(sb, DEBUG))
393 -               printk(KERN_INFO "[EXT4 FS bs=%lu, gc=%lu, "
394 +               printk(KERN_INFO "[EXT4 FS bs=%lu, gc=%u, "
395                                 "bpg=%lu, ipg=%lu, mo=%04lx]\n",
396                         sb->s_blocksize,
397                         sbi->s_groups_count,
398 @@ -1464,7 +1464,7 @@ static int ext4_fill_flex_info(struct super_block *sb)
399                                      sizeof(struct flex_groups), GFP_KERNEL);
400         if (sbi->s_flex_groups == NULL) {
401                 printk(KERN_ERR "EXT4-fs: not enough memory for "
402 -                               "%lu flex groups\n", flex_group_count);
403 +                               "%u flex groups\n", flex_group_count);
404                 goto failed;
405         }
407 @@ -1552,14 +1552,14 @@ static int ext4_check_descriptors(struct super_block *sb)
408                 block_bitmap = ext4_block_bitmap(sb, gdp);
409                 if (block_bitmap < first_block || block_bitmap > last_block) {
410                         printk(KERN_ERR "EXT4-fs: ext4_check_descriptors: "
411 -                              "Block bitmap for group %lu not in group "
412 +                              "Block bitmap for group %u not in group "
413                                "(block %llu)!\n", i, block_bitmap);
414                         return 0;
415                 }
416                 inode_bitmap = ext4_inode_bitmap(sb, gdp);
417                 if (inode_bitmap < first_block || inode_bitmap > last_block) {
418                         printk(KERN_ERR "EXT4-fs: ext4_check_descriptors: "
419 -                              "Inode bitmap for group %lu not in group "
420 +                              "Inode bitmap for group %u not in group "
421                                "(block %llu)!\n", i, inode_bitmap);
422                         return 0;
423                 }
424 @@ -1567,14 +1567,14 @@ static int ext4_check_descriptors(struct super_block *sb)
425                 if (inode_table < first_block ||
426                     inode_table + sbi->s_itb_per_group - 1 > last_block) {
427                         printk(KERN_ERR "EXT4-fs: ext4_check_descriptors: "
428 -                              "Inode table for group %lu not in group "
429 +                              "Inode table for group %u not in group "
430                                "(block %llu)!\n", i, inode_table);
431                         return 0;
432                 }
433                 spin_lock(sb_bgl_lock(sbi, i));
434                 if (!ext4_group_desc_csum_verify(sbi, i, gdp)) {
435                         printk(KERN_ERR "EXT4-fs: ext4_check_descriptors: "
436 -                              "Checksum for group %lu failed (%u!=%u)\n",
437 +                              "Checksum for group %u failed (%u!=%u)\n",
438                                i, le16_to_cpu(ext4_group_desc_csum(sbi, i,
439                                gdp)), le16_to_cpu(gdp->bg_checksum));
440                         if (!(sb->s_flags & MS_RDONLY)) {
441 @@ -3059,7 +3059,7 @@ static int ext4_remount(struct super_block *sb, int *flags, char *data)
442                                 if (!ext4_group_desc_csum_verify(sbi, g, gdp)) {
443                                         printk(KERN_ERR
444                "EXT4-fs: ext4_remount: "
445 -               "Checksum for group %lu failed (%u!=%u)\n",
446 +               "Checksum for group %u failed (%u!=%u)\n",
447                 g, le16_to_cpu(ext4_group_desc_csum(sbi, g, gdp)),
448                                                le16_to_cpu(gdp->bg_checksum));
449                                         err = -EINVAL;