1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
|
/* COVERAGE: sync_file_range sync_file_range2 sync syncfs */
#define _GNU_SOURCE
#include <unistd.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <sys/syscall.h>
int main()
{
int fd;
char *string1 = "Hello world";
sync();
//staptest// sync () = 0
// Create a test file.
fd = creat("foobar", S_IREAD|S_IWRITE);
write(fd, string1, sizeof(string1) - 1);
// We use syscall() to avoid link time problems
#ifdef __NR_syncfs
syscall(__NR_syncfs, fd);
//staptest// syncfs (NNNN) = 0
syscall(__NR_syncfs, (int)-1);
//staptest// syncfs (-1) = -NNNN
#endif
close(fd);
return 0;
}
|