Patchwork mke2fs: add discard to default mke2fs.conf and disable by default

login
register
mail settings
Submitter Eric Sandeen
Date April 17, 2013, 10:04 p.m.
Message ID <516F1C8A.9040702@redhat.com>
Download mbox | patch
Permalink /patch/237373/
State Superseded
Headers show

Comments

Eric Sandeen - April 17, 2013, 10:04 p.m.
Discard is a very big hammer.  If it succeeds, there's no undo
or going back; on the other hand, on some devices the giant discard
issued at mkfs time makes them go offline.  :(

Although I'm reluctant to waffle back and forth on default behavior,
I think this disabling it by default the prudent thing to do.

This patch also adds the discard option into the default mke2fs.conf
file; although it could be set, it was not in the template.

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

If disabling by default isn't desired, we should at least include
the mke2fs.conf.in change (set to 1).

Thanks,
-Eric


--
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
Eric Sandeen - April 17, 2013, 10:33 p.m.
On 4/17/13 3:04 PM, Eric Sandeen wrote:
> Discard is a very big hammer.  If it succeeds, there's no undo
> or going back; on the other hand, on some devices the giant discard
> issued at mkfs time makes them go offline.  :(
> 
> Although I'm reluctant to waffle back and forth on default behavior,
> I think this disabling it by default the prudent thing to do.
> 
> This patch also adds the discard option into the default mke2fs.conf
> file; although it could be set, it was not in the template.
> 
> Signed-off-by: Eric Sandeen <sandeen@redhat.com>

Sorry, scratch this; it won't work if, say, discard=1 in the conf
file and the user specifies -E nodiscard or -K; it'll turn it back
on after those options are processed, I think.  I'll send another
patch later when I'm not firing it off too quickly from a conference. ;)

-Eric

> ---
> 
> If disabling by default isn't desired, we should at least include
> the mke2fs.conf.in change (set to 1).
> 
> Thanks,
> -Eric
> 
> diff --git a/misc/mke2fs.8.in b/misc/mke2fs.8.in
> index 023ba49..a005eca 100644
> --- a/misc/mke2fs.8.in
> +++ b/misc/mke2fs.8.in
> @@ -277,11 +277,11 @@ Attempt to discard blocks at mkfs time (discarding blocks initially is useful
>  on solid state devices and sparse / thin-provisioned storage). When the device
>  advertises that discard also zeroes data (any subsequent read after the discard
>  and before write returns zero), then mark all not-yet-zeroed inode tables as
> -zeroed. This significantly speeds up filesystem initialization. This is set
> -as default.
> +zeroed. This significantly speeds up filesystem initialization. This is disabled
> +by default.
>  .TP
>  .BI nodiscard
> -Do not attempt to discard blocks at mkfs time.
> +Do not attempt to discard blocks at mkfs time.  This is the default.
>  .TP
>  .BI quotatype
>  Specify which quota type ('usr' or 'grp') is to be initialized. This
> diff --git a/misc/mke2fs.c b/misc/mke2fs.c
> index bbf477a..d723ee7 100644
> --- a/misc/mke2fs.c
> +++ b/misc/mke2fs.c
> @@ -84,7 +84,7 @@ int	cflag;
>  int	verbose;
>  int	quiet;
>  int	super_only;
> -int	discard = 1;	/* attempt to discard device before fs creation */
> +int	discard;	/* attempt to discard device before fs creation? */
>  int	direct_io;
>  int	force;
>  int	noaction;
> diff --git a/misc/mke2fs.conf.in b/misc/mke2fs.conf.in
> index 178733f..db6decb 100644
> --- a/misc/mke2fs.conf.in
> +++ b/misc/mke2fs.conf.in
> @@ -2,6 +2,7 @@
>  	base_features = sparse_super,filetype,resize_inode,dir_index,ext_attr
>  	default_mntopts = acl,user_xattr
>  	enable_periodic_fsck = 0
> +	discard = 0
>  	blocksize = 4096
>  	inode_size = 256
>  	inode_ratio = 16384
> 
> --
> 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
> 

--
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.8.in b/misc/mke2fs.8.in
index 023ba49..a005eca 100644
--- a/misc/mke2fs.8.in
+++ b/misc/mke2fs.8.in
@@ -277,11 +277,11 @@  Attempt to discard blocks at mkfs time (discarding blocks initially is useful
 on solid state devices and sparse / thin-provisioned storage). When the device
 advertises that discard also zeroes data (any subsequent read after the discard
 and before write returns zero), then mark all not-yet-zeroed inode tables as
-zeroed. This significantly speeds up filesystem initialization. This is set
-as default.
+zeroed. This significantly speeds up filesystem initialization. This is disabled
+by default.
 .TP
 .BI nodiscard
-Do not attempt to discard blocks at mkfs time.
+Do not attempt to discard blocks at mkfs time.  This is the default.
 .TP
 .BI quotatype
 Specify which quota type ('usr' or 'grp') is to be initialized. This
diff --git a/misc/mke2fs.c b/misc/mke2fs.c
index bbf477a..d723ee7 100644
--- a/misc/mke2fs.c
+++ b/misc/mke2fs.c
@@ -84,7 +84,7 @@  int	cflag;
 int	verbose;
 int	quiet;
 int	super_only;
-int	discard = 1;	/* attempt to discard device before fs creation */
+int	discard;	/* attempt to discard device before fs creation? */
 int	direct_io;
 int	force;
 int	noaction;
diff --git a/misc/mke2fs.conf.in b/misc/mke2fs.conf.in
index 178733f..db6decb 100644
--- a/misc/mke2fs.conf.in
+++ b/misc/mke2fs.conf.in
@@ -2,6 +2,7 @@ 
 	base_features = sparse_super,filetype,resize_inode,dir_index,ext_attr
 	default_mntopts = acl,user_xattr
 	enable_periodic_fsck = 0
+	discard = 0
 	blocksize = 4096
 	inode_size = 256
 	inode_ratio = 16384