Whamcloud - gitweb
Merge branch 'maint' into next
authorTheodore Ts'o <tytso@mit.edu>
Tue, 10 Sep 2013 00:49:49 +0000 (20:49 -0400)
committerTheodore Ts'o <tytso@mit.edu>
Tue, 10 Sep 2013 00:49:49 +0000 (20:49 -0400)
1  2 
debian/changelog
debugfs/debugfs.c
e2fsck/pass1.c
e2fsck/pass2.c
e2fsck/util.c
lib/ext2fs/extent.c
resize/resize2fs.c

Simple merge
Simple merge
diff --cc e2fsck/pass1.c
@@@ -1900,25 -1800,18 +1903,30 @@@ static void scan_extent_node(e2fsck_t c
                         (extent.e_pblk + extent.e_len) >
                         ext2fs_blocks_count(ctx->fs->super))
                        problem = PR_1_EXTENT_ENDS_BEYOND;
+               else if (is_leaf && is_dir &&
+                        ((extent.e_lblk + extent.e_len) >
+                         (1 << (21 - ctx->fs->super->s_log_block_size))))
+                       problem = PR_1_TOOBIG_DIR;
  
 +              /* Corrupt but passes checks?  Ask to fix checksum. */
 +              if (failed_csum) {
 +                      pctx->blk = extent.e_pblk;
 +                      pctx->blk2 = extent.e_lblk;
 +                      pctx->num = extent.e_len;
 +                      problem = 0;
 +                      if (fix_problem(ctx, PR_1_EXTENT_ONLY_CSUM_INVALID,
 +                                      pctx))
 +                              ext2fs_extent_replace(ehandle, 0, &extent);
 +              }
 +
                if (problem) {
  report_problem:
                        pctx->blk = extent.e_pblk;
                        pctx->blk2 = extent.e_lblk;
                        pctx->num = extent.e_len;
+                       pctx->blkcount = extent.e_lblk + extent.e_len;
                        if (fix_problem(ctx, problem, pctx)) {
 +fix_problem_now:
                                e2fsck_read_bitmaps(ctx);
                                pctx->errcode =
                                        ext2fs_extent_delete(ehandle, 0);
diff --cc e2fsck/pass2.c
Simple merge
diff --cc e2fsck/util.c
Simple merge
Simple merge
Simple merge