Re: [PATCH 1/2] Add discard/nodiscard mount option for ext3

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, 12 Jul 2010, Jan Kara wrote:

> > Those mount option has the same meaning as in ext4 file system. It
> > provide a way to enable/disable file system's trim support. The trim
> > support is off by default, thus nodiscard option is not actually
> > necessary.
>   I kind of miss why ext3 should have a 'discard' mount option. When
> user calls DISCARD ioctl on the filesystem, then he probably wants
> discard to be performed.
> 
> 								Honza

You're right that it is not necessarily needed, but it is the same as in
ext4. If you want to be really sure that no unwanted trim will be send
to the device, 'nodiscard' mount option becomes handy. But I do not
insist on it and I can easily get rid of it.

-Lukas

>  
> > Signed-off-by: Lukas Czerner <lczerner@xxxxxxxxxx>
> > ---
> >  fs/ext3/super.c         |   14 +++++++++++++-
> >  include/linux/ext3_fs.h |    1 +
> >  2 files changed, 14 insertions(+), 1 deletions(-)
> > 
> > diff --git a/fs/ext3/super.c b/fs/ext3/super.c
> > index 1bee604..6baf7ef 100644
> > --- a/fs/ext3/super.c
> > +++ b/fs/ext3/super.c
> > @@ -662,6 +662,9 @@ static int ext3_show_options(struct seq_file *seq, struct vfsmount *vfs)
> >  	if (test_opt(sb, DATA_ERR_ABORT))
> >  		seq_puts(seq, ",data_err=abort");
> >  
> > +	if (test_opt(sb, DISCARD))
> > +		seq_puts(seq, ",discard");
> > +
> >  	if (test_opt(sb, NOLOAD))
> >  		seq_puts(seq, ",norecovery");
> >  
> > @@ -811,7 +814,8 @@ enum {
> >  	Opt_usrjquota, Opt_grpjquota, Opt_offusrjquota, Opt_offgrpjquota,
> >  	Opt_jqfmt_vfsold, Opt_jqfmt_vfsv0, Opt_jqfmt_vfsv1, Opt_quota,
> >  	Opt_noquota, Opt_ignore, Opt_barrier, Opt_err, Opt_resize,
> > -	Opt_usrquota, Opt_grpquota
> > +	Opt_usrquota, Opt_grpquota,
> > +	Opt_discard, Opt_nodiscard,
> >  };
> >  
> >  static const match_table_t tokens = {
> > @@ -866,6 +870,8 @@ static const match_table_t tokens = {
> >  	{Opt_usrquota, "usrquota"},
> >  	{Opt_barrier, "barrier=%u"},
> >  	{Opt_resize, "resize"},
> > +	{Opt_discard, "discard"},
> > +	{Opt_nodiscard, "nodiscard"},
> >  	{Opt_err, NULL},
> >  };
> >  
> > @@ -1242,6 +1248,12 @@ set_qf_format:
> >  		case Opt_bh:
> >  			clear_opt(sbi->s_mount_opt, NOBH);
> >  			break;
> > +		case Opt_discard:
> > +			set_opt(sbi->s_mount_opt, DISCARD);
> > +			break;
> > +		case Opt_nodiscard:
> > +			clear_opt(sbi->s_mount_opt, DISCARD);
> > +			break;
> >  		default:
> >  			ext3_msg(sb, KERN_ERR,
> >  				"error: unrecognized mount option \"%s\" "
> > diff --git a/include/linux/ext3_fs.h b/include/linux/ext3_fs.h
> > index 5f494b4..f3fdd94 100644
> > --- a/include/linux/ext3_fs.h
> > +++ b/include/linux/ext3_fs.h
> > @@ -406,6 +406,7 @@ struct ext3_inode {
> >  #define EXT3_MOUNT_GRPQUOTA		0x200000 /* "old" group quota */
> >  #define EXT3_MOUNT_DATA_ERR_ABORT	0x400000 /* Abort on file data write
> >  						  * error in ordered mode */
> > +#define EXT3_MOUNT_DISCARD		0x800000 /* Issue DISCARD requests */
> >  
> >  /* Compatibility, for having both ext2_fs.h and ext3_fs.h included at once */
> >  #ifndef _LINUX_EXT2_FS_H
> > -- 
> > 1.6.6.1
> > 
> > --
> > 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


[Index of Archives]     [Reiser Filesystem Development]     [Ceph FS]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Linux FS]     [Yosemite National Park]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Device Mapper]     [Linux Media]

  Powered by Linux