[Devel] [PATCH RH7 v2 1/4] ve: remove sysctl_fsync_enable and use ve_fsync_behavior instead

Dmitry Monakhov dmonakhov at openvz.org
Tue Jun 30 05:18:01 PDT 2015


Pavel Tikhomirov <ptikhomirov at virtuozzo.com> writes:

> - sysctl_fsync_enable is always = 2 and checking it is meaningless
> - we already changed it with ve_fsync_behavior in setfl and dentry_open
> - in do_fsync and syncfs we have both checks
> - in msync replace
> - in sync_file_range we don't need replacement according to patch
>   diff-ve-fsync-behavior-sanitize:
>     * Don't filter syncs in sync_file_range, since this syscall is
>     not technically sync, then name is misleading
>
> Reviewed-by: Vladimir Davydov <vdavydov at parallels.com>
> Signed-off-by: Pavel Tikhomirov <ptikhomirov at virtuozzo.com>
ACK
> ---
>  fs/sync.c          | 9 ---------
>  include/linux/fs.h | 1 -
>  mm/msync.c         | 2 +-
>  3 files changed, 1 insertion(+), 11 deletions(-)
>
> diff --git a/fs/sync.c b/fs/sync.c
> index 45649b6..b5a2f58 100644
> --- a/fs/sync.c
> +++ b/fs/sync.c
> @@ -24,8 +24,6 @@
>  #define VALID_FLAGS (SYNC_FILE_RANGE_WAIT_BEFORE|SYNC_FILE_RANGE_WRITE| \
>  			SYNC_FILE_RANGE_WAIT_AFTER)
>  
> -int sysctl_fsync_enable = 2;
> -
>  /*
>   * Do the filesystem syncing work. For simple filesystems
>   * writeback_inodes_sb(sb) just dirties buffers with inodes so we have to
> @@ -327,8 +325,6 @@ SYSCALL_DEFINE1(syncfs, int, fd)
>  		if (is_child_reaper(task_pid(current)))
>  			goto fdput;
>  
> -		if (!sysctl_fsync_enable)
> -			goto fdput;
>  		fsb = __ve_fsync_behavior(ve);
>  		if (fsb == FSYNC_NEVER)
>  			goto fdput;
> @@ -405,8 +401,6 @@ static int do_fsync(unsigned int fd, int datasync)
>  	struct fd f;
>  	int ret = -EBADF;
>  
> -	if (!ve_is_super(get_exec_env()) && !sysctl_fsync_enable)
> -		return 0;
>  	if (ve_fsync_behavior() == FSYNC_NEVER)
>  		return 0;
>  
> @@ -502,9 +496,6 @@ SYSCALL_DEFINE4(sync_file_range, int, fd, loff_t, offset, loff_t, nbytes,
>  	loff_t endbyte;			/* inclusive */
>  	umode_t i_mode;
>  
> -	if (!ve_is_super(get_exec_env()) && !sysctl_fsync_enable)
> - 		return 0;
> -
>  	ret = -EINVAL;
>  	if (flags & ~VALID_FLAGS)
>  		goto out;
> diff --git a/include/linux/fs.h b/include/linux/fs.h
> index fdade5c..9bdf99f 100644
> --- a/include/linux/fs.h
> +++ b/include/linux/fs.h
> @@ -58,7 +58,6 @@ extern struct inodes_stat_t inodes_stat;
>  extern int leases_enable, lease_break_time;
>  extern int sysctl_protected_symlinks;
>  extern int sysctl_protected_hardlinks;
> -extern int sysctl_fsync_enable;
>  
>  struct buffer_head;
>  typedef int (get_block_t)(struct inode *inode, sector_t iblock,
> diff --git a/mm/msync.c b/mm/msync.c
> index b7d634a..f47b2d7 100644
> --- a/mm/msync.c
> +++ b/mm/msync.c
> @@ -48,7 +48,7 @@ SYSCALL_DEFINE3(msync, unsigned long, start, size_t, len, int, flags)
>  	if (end < start)
>  		goto out;
>  	error = 0;
> -	if (!ve_is_super(get_exec_env()) && !sysctl_fsync_enable)
> +	if (ve_fsync_behavior() == FSYNC_NEVER)
>  		goto out;
>  	if (end == start)
>  		goto out;
> -- 
> 1.9.3
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 472 bytes
Desc: not available
URL: <http://lists.openvz.org/pipermail/devel/attachments/20150630/632420f4/attachment-0001.sig>


More information about the Devel mailing list