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
This commit is contained in:
Edward Tomasz Napierala 2019-12-14 13:37:17 +00:00
parent 0cde2b3239
commit cf69fe66d4
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=355754
6 changed files with 23 additions and 4 deletions

View File

@ -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: */

View File

@ -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: */

View File

@ -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: */

View File

@ -907,6 +907,22 @@ linux_fdatasync(td, uap)
return (kern_fsync(td, uap->fd, false));
}
int
linux_sync_file_range(td, uap)
struct thread *td;
struct linux_sync_file_range_args *uap;
{
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)
{

View File

@ -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_ */

View File

@ -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: */