summaryrefslogtreecommitdiffstats
path: root/tests/basic/metadisp/fsyncdir.c
blob: 62b532b9ce41d670d549204203b601954982a0e4 (plain)
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
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>

#include <fcntl.h>

int
main(int argc, char **argv)
{
    int pfd;

    pfd = open(argv[1], O_RDONLY | O_DIRECTORY);
    if (pfd == (-1)) {
        perror("open");
        return EXIT_FAILURE;
    }

    if (rename(argv[2], argv[3]) == (-1)) {
        perror("rename");
        return EXIT_FAILURE;
    }

    if (fsync(pfd) == (-1)) {
        perror("fsync");
        return EXIT_FAILURE;
    }

    return EXIT_SUCCESS;
}