Re: [PATCH] ceph: enable async dirops by default

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

 



Jeff Layton <jlayton@xxxxxxxxxx> writes:

> This has been behaving reasonably well in testing, and enabling this
> offers significant performance benefits. Enable async dirops by default
> in the kclient going forward, and change show_options to add "wsync"
> when they are disabled.

Sounds good!  Maybe it's worth adding this option to the mount options
listed in Documentation/filesystems/ceph.rst (although it's quite possible
that other mount options are already missing there).

Cheers,
-- 
Luis

>
> Signed-off-by: Jeff Layton <jlayton@xxxxxxxxxx>
> ---
>  fs/ceph/super.c | 4 ++--
>  fs/ceph/super.h | 5 +++--
>  2 files changed, 5 insertions(+), 4 deletions(-)
>
> diff --git a/fs/ceph/super.c b/fs/ceph/super.c
> index 9b1b7f4cfdd4..884e2ffabfaf 100644
> --- a/fs/ceph/super.c
> +++ b/fs/ceph/super.c
> @@ -577,8 +577,8 @@ static int ceph_show_options(struct seq_file *m, struct dentry *root)
>  	if (fsopt->flags & CEPH_MOUNT_OPT_CLEANRECOVER)
>  		seq_show_option(m, "recover_session", "clean");
>  
> -	if (fsopt->flags & CEPH_MOUNT_OPT_ASYNC_DIROPS)
> -		seq_puts(m, ",nowsync");
> +	if (!(fsopt->flags & CEPH_MOUNT_OPT_ASYNC_DIROPS))
> +		seq_puts(m, ",wsync");
>  
>  	if (fsopt->wsize != CEPH_MAX_WRITE_SIZE)
>  		seq_printf(m, ",wsize=%u", fsopt->wsize);
> diff --git a/fs/ceph/super.h b/fs/ceph/super.h
> index 13b02887b085..8ee2745f6257 100644
> --- a/fs/ceph/super.h
> +++ b/fs/ceph/super.h
> @@ -46,8 +46,9 @@
>  #define CEPH_MOUNT_OPT_ASYNC_DIROPS    (1<<15) /* allow async directory ops */
>  
>  #define CEPH_MOUNT_OPT_DEFAULT			\
> -	(CEPH_MOUNT_OPT_DCACHE |		\
> -	 CEPH_MOUNT_OPT_NOCOPYFROM)
> +	(CEPH_MOUNT_OPT_DCACHE		|	\
> +	 CEPH_MOUNT_OPT_NOCOPYFROM	|	\
> +	 CEPH_MOUNT_OPT_ASYNC_DIROPS)
>  
>  #define ceph_set_mount_opt(fsc, opt) \
>  	(fsc)->mount_options->flags |= CEPH_MOUNT_OPT_##opt
> -- 
>
> 2.29.2
>



[Index of Archives]     [CEPH Users]     [Ceph Large]     [Ceph Dev]     [Information on CEPH]     [Linux BTRFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux