mirror of
https://git.kernel.org/pub/scm/fs/ext2/e2fsprogs.git
synced 2024-11-28 04:23:45 +08:00
e2fsck: do not attempt to discard if -n was specified
If '-n' option is specified there should be no changes made to the file system hence we should not attempt to discard the file system. This commit adds a check into the e2fsck_discard_blocks() condition so it skip discard if E2F_OPT_NO flag is set. Signed-off-by: Lukas Czerner <lczerner@redhat.com> Signed-off-by: Theodore Ts'o <tytso@mit.edu>
This commit is contained in:
parent
2fa1679adb
commit
765e03f037
@ -87,7 +87,8 @@ static void e2fsck_discard_blocks(e2fsck_t ctx, io_manager manager,
|
||||
if (ext2fs_test_changed(ctx->fs))
|
||||
ctx->options &= ~E2F_OPT_DISCARD;
|
||||
|
||||
if ((ctx->options & E2F_OPT_DISCARD) &&
|
||||
if (!(ctx->options & E2F_OPT_NO) &&
|
||||
(ctx->options & E2F_OPT_DISCARD) &&
|
||||
(io_channel_discard(fs->io, start, count)))
|
||||
ctx->options &= ~E2F_OPT_DISCARD;
|
||||
}
|
||||
@ -331,11 +332,9 @@ redo_counts:
|
||||
if (first_free > i)
|
||||
first_free = i;
|
||||
} else {
|
||||
if ((i > first_free) &&
|
||||
(ctx->options & E2F_OPT_DISCARD)) {
|
||||
if (i > first_free)
|
||||
e2fsck_discard_blocks(ctx, manager, first_free,
|
||||
(i - first_free));
|
||||
}
|
||||
first_free = ext2fs_blocks_count(fs->super);
|
||||
}
|
||||
blocks ++;
|
||||
|
Loading…
Reference in New Issue
Block a user