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@xxxxxxxxxx> 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@xxxxxxxxxxxxxxx > 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@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html