Patchwork mke2fs: Don't erase flash device if "-n" is given

login
register
mail settings
Submitter Andreas Dilger
Date June 7, 2011, 4:22 p.m.
Message ID <1307463749-16498-1-git-send-email-adilger@whamcloud.com>
Download mbox | patch
Permalink /patch/99289/
State Accepted
Headers show

Comments

Andreas Dilger - June 7, 2011, 4:22 p.m.
If "mke2fs -n" is used, there should be no changes to the underlying
device.  Unfortunately, when the "discard" option was added in commit
c7cd908be59f48c66b4f3ac9a631ffe3dde4f1ab, it did not check for the "-n"
flag, and will discard all data on a flash device even if "-n" is given.

Check for the "noaction" flag before discarding any filesystem data.

Signed-off-by: Andreas Dilger <adilger@whamcloud.com>
---
 misc/mke2fs.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
Eric Sandeen - June 7, 2011, 4:58 p.m.
On 6/7/11 11:22 AM, Andreas Dilger wrote:
> If "mke2fs -n" is used, there should be no changes to the underlying
> device.  Unfortunately, when the "discard" option was added in commit
> c7cd908be59f48c66b4f3ac9a631ffe3dde4f1ab, it did not check for the "-n"
> flag, and will discard all data on a flash device even if "-n" is given.

Oh, crud.

> Check for the "noaction" flag before discarding any filesystem data.
> 
> Signed-off-by: Andreas Dilger <adilger@whamcloud.com>

Reviewed-by: Eric Sandeen <sandeen@redhat.com>

> ---
>  misc/mke2fs.c |    2 +-
>  1 files changed, 1 insertions(+), 1 deletions(-)
> 
> diff --git a/misc/mke2fs.c b/misc/mke2fs.c
> index ddfa929..9472016 100644
> --- a/misc/mke2fs.c
> +++ b/misc/mke2fs.c
> @@ -2132,7 +2132,7 @@ int main (int argc, char *argv[])
>  	}
>  
>  	/* Can't undo discard ... */
> -	if (discard && (io_ptr != undo_io_manager)) {
> +	if (!noaction && discard && (io_ptr != undo_io_manager)) {
>  		retval = mke2fs_discard_device(fs);
>  		if (!retval && io_channel_discard_zeroes_data(fs->io)) {
>  			if (verbose)

--
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Theodore Ts'o - June 7, 2011, 5:37 p.m.
On Tue, Jun 07, 2011 at 11:58:40AM -0500, Eric Sandeen wrote:
> On 6/7/11 11:22 AM, Andreas Dilger wrote:
> > If "mke2fs -n" is used, there should be no changes to the underlying
> > device.  Unfortunately, when the "discard" option was added in commit
> > c7cd908be59f48c66b4f3ac9a631ffe3dde4f1ab, it did not check for the "-n"
> > flag, and will discard all data on a flash device even if "-n" is given.
> 
> Oh, crud.

I guess that means we should probably release e2fsprogs 1.41.15.

> > Check for the "noaction" flag before discarding any filesystem data.
> > 
> > Signed-off-by: Andreas Dilger <adilger@whamcloud.com>
> 
> Reviewed-by: Eric Sandeen <sandeen@redhat.com>

Added to the maint branch, thanks.

						- Ted
--
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Patch

diff --git a/misc/mke2fs.c b/misc/mke2fs.c
index ddfa929..9472016 100644
--- a/misc/mke2fs.c
+++ b/misc/mke2fs.c
@@ -2132,7 +2132,7 @@  int main (int argc, char *argv[])
 	}
 
 	/* Can't undo discard ... */
-	if (discard && (io_ptr != undo_io_manager)) {
+	if (!noaction && discard && (io_ptr != undo_io_manager)) {
 		retval = mke2fs_discard_device(fs);
 		if (!retval && io_channel_discard_zeroes_data(fs->io)) {
 			if (verbose)