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

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

 



> 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
 
> 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
-- 
Jan Kara <jack@xxxxxxx>
SuSE CR Labs
--
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