Many files:
Change the progress function to return an integer; if returns 1, then
the progress function is expected to have set the e2fsck context flag
signalling a user abort, and the caller should also initiate a user
abort.
diff --git a/e2fsck/pass5.c b/e2fsck/pass5.c
index fd6b2c5..7561e79 100644
--- a/e2fsck/pass5.c
+++ b/e2fsck/pass5.c
@@ -39,28 +39,31 @@
fix_problem(ctx, PR_5_PASS_HEADER, &pctx);
if (ctx->progress)
- (ctx->progress)(ctx, 5, 0, 3);
+ if ((ctx->progress)(ctx, 5, 0, 3))
+ return;
e2fsck_read_bitmaps(ctx);
if (ctx->progress)
- (ctx->progress)(ctx, 5, 2, 3);
+ if ((ctx->progress)(ctx, 5, 2, 3))
+ return;
check_block_bitmaps(ctx);
- if (ctx->flags & E2F_FLAG_ABORT)
+ if (ctx->flags & E2F_FLAG_SIGNAL_MASK)
return;
check_inode_bitmaps(ctx);
- if (ctx->flags & E2F_FLAG_ABORT)
+ if (ctx->flags & E2F_FLAG_SIGNAL_MASK)
return;
check_inode_end(ctx);
- if (ctx->flags & E2F_FLAG_ABORT)
+ if (ctx->flags & E2F_FLAG_SIGNAL_MASK)
return;
check_block_end(ctx);
- if (ctx->flags & E2F_FLAG_ABORT)
+ if (ctx->flags & E2F_FLAG_SIGNAL_MASK)
return;
if (ctx->progress)
- (ctx->progress)(ctx, 5, 3, 3);
+ if ((ctx->progress)(ctx, 5, 3, 3))
+ return;
ext2fs_free_inode_bitmap(ctx->inode_used_map);
ctx->inode_used_map = 0;