On Sat, Dec 14, 2019 at 01:37:17PM +0000, Edward Tomasz Napierala wrote:
> Author: trasz
> Date: Sat Dec 14 13:37:17 2019
> New Revision: 355754
> URL: https://svnweb.freebsd.org/changeset/base/355754
> 
> Log:
>   Add sync_file_range(2) implementation to linux(4); it's a thin wrapper
>   over the usual fsync(2).
>   
>   This silences some warnings when running "apt-get upgrade".
>   
>   Reviewed by:        brooks, emaste
>   MFC after:  2 weeks
>   Sponsored by:       The FreeBSD Foundation
>   Differential Revision:      https://reviews.freebsd.org/D22371
> 
> Modified:
>   head/sys/amd64/linux/linux_dummy.c
>   head/sys/amd64/linux32/linux32_dummy.c
>   head/sys/arm64/linux/linux_dummy.c
>   head/sys/compat/linux/linux_file.c
>   head/sys/compat/linux/linux_file.h
>   head/sys/i386/linux/linux_dummy.c
> 
> Modified: head/sys/amd64/linux/linux_dummy.c
> ==============================================================================
> --- head/sys/amd64/linux/linux_dummy.c        Sat Dec 14 13:32:37 2019        
> (r355753)
> +++ head/sys/amd64/linux/linux_dummy.c        Sat Dec 14 13:37:17 2019        
> (r355754)
> @@ -99,7 +99,6 @@ DUMMY(migrate_pages);
>  DUMMY(unshare);
>  /* Linux 2.6.17: */
>  DUMMY(splice);
> -DUMMY(sync_file_range);
>  DUMMY(tee);
>  DUMMY(vmsplice);
>  /* Linux 2.6.18: */
> 
> Modified: head/sys/amd64/linux32/linux32_dummy.c
> ==============================================================================
> --- head/sys/amd64/linux32/linux32_dummy.c    Sat Dec 14 13:32:37 2019        
> (r355753)
> +++ head/sys/amd64/linux32/linux32_dummy.c    Sat Dec 14 13:37:17 2019        
> (r355754)
> @@ -105,7 +105,6 @@ DUMMY(migrate_pages);
>  DUMMY(unshare);
>  /* Linux 2.6.17: */
>  DUMMY(splice);
> -DUMMY(sync_file_range);
>  DUMMY(tee);
>  DUMMY(vmsplice);
>  /* Linux 2.6.18: */
> 
> Modified: head/sys/arm64/linux/linux_dummy.c
> ==============================================================================
> --- head/sys/arm64/linux/linux_dummy.c        Sat Dec 14 13:32:37 2019        
> (r355753)
> +++ head/sys/arm64/linux/linux_dummy.c        Sat Dec 14 13:37:17 2019        
> (r355754)
> @@ -101,7 +101,6 @@ DUMMY(migrate_pages);
>  DUMMY(unshare);
>  /* Linux 2.6.17: */
>  DUMMY(splice);
> -DUMMY(sync_file_range);
>  DUMMY(tee);
>  DUMMY(vmsplice);
>  /* Linux 2.6.18: */
> 
> Modified: head/sys/compat/linux/linux_file.c
> ==============================================================================
> --- head/sys/compat/linux/linux_file.c        Sat Dec 14 13:32:37 2019        
> (r355753)
> +++ head/sys/compat/linux/linux_file.c        Sat Dec 14 13:37:17 2019        
> (r355754)
> @@ -908,6 +908,22 @@ linux_fdatasync(td, uap)
>  }
>  
>  int
> +linux_sync_file_range(td, uap)
> +     struct thread *td;
> +     struct linux_sync_file_range_args *uap;
Why use K&R definitions in 2019 ?

> +{
> +
> +     if (uap->offset < 0 || uap->nbytes < 0 ||
> +         (uap->flags & ~(LINUX_SYNC_FILE_RANGE_WAIT_BEFORE |
> +         LINUX_SYNC_FILE_RANGE_WRITE |
> +         LINUX_SYNC_FILE_RANGE_WAIT_AFTER)) != 0) {
> +             return (EINVAL);
> +     }
> +
> +     return (kern_fsync(td, uap->fd, false));
> +}
> +
> +int
>  linux_pread(struct thread *td, struct linux_pread_args *uap)
This function is defined using ANSI C method.

>  {
>       struct vnode *vp;
> 
> Modified: head/sys/compat/linux/linux_file.h
> ==============================================================================
> --- head/sys/compat/linux/linux_file.h        Sat Dec 14 13:32:37 2019        
> (r355753)
> +++ head/sys/compat/linux/linux_file.h        Sat Dec 14 13:37:17 2019        
> (r355754)
> @@ -134,4 +134,11 @@
>  #define      LINUX_RENAME_EXCHANGE   0x00000002
>  #define      LINUX_RENAME_WHITEOUT   0x00000004
>  
> +/*
> + * sync_file_range flags
> + */
> +#define      LINUX_SYNC_FILE_RANGE_WAIT_BEFORE       1
> +#define      LINUX_SYNC_FILE_RANGE_WRITE             2
> +#define      LINUX_SYNC_FILE_RANGE_WAIT_AFTER        4
> +
>  #endif       /* !_LINUX_FILE_H_ */
> 
> Modified: head/sys/i386/linux/linux_dummy.c
> ==============================================================================
> --- head/sys/i386/linux/linux_dummy.c Sat Dec 14 13:32:37 2019        
> (r355753)
> +++ head/sys/i386/linux/linux_dummy.c Sat Dec 14 13:37:17 2019        
> (r355754)
> @@ -101,7 +101,6 @@ DUMMY(migrate_pages);
>  DUMMY(unshare);
>  /* Linux 2.6.17: */
>  DUMMY(splice);
> -DUMMY(sync_file_range);
>  DUMMY(tee);
>  DUMMY(vmsplice);
>  /* Linux 2.6.18: */
_______________________________________________
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to