O_SYNC
O_RDONLY | O_RDWR | O_SHLOCK | O_SYNC | O_TRUNC | O_CLOEXEC)
(oflags & ~(O_APPEND | O_DIRECT | O_SHLOCK | O_EXLOCK | O_SYNC |
#define MISCFLAGS (O_APPEND | O_DIRECT | O_SHLOCK | O_EXLOCK | O_SYNC)
{ O_SYNC, PS_FST_FFLAG_SYNC },
case O_SYNC:
if (flags & (O_SYNC | O_FSYNC | O_DSYNC))
O_EXLOCK | O_ASYNC | O_SYNC | O_NOFOLLOW | O_CREAT | O_TRUNC | \
ATF_CHECK_EQ(-1, aio_fsync(O_SYNC, &iocb));
aio_fsync_test(O_SYNC);
ATF_CHECK_EQ(0, aio_fsync(O_SYNC, &iocb));
rc = openat(dfd_cap, "cap_fsync", O_SYNC | O_RDONLY);
rc = openat(dfd_cap, "cap_fsync", O_SYNC | O_WRONLY | O_APPEND);
rc = openat(dfd_cap, "cap_fsync", O_SYNC | O_RDWR | O_APPEND);
rc = openat(dfd_cap, "cap_fsync", O_SYNC | O_WRONLY);
rc = openat(dfd_cap, "cap_fsync", O_SYNC | O_RDWR);
testdd = open(dirpath, O_RDONLY|O_SYNC);
int fd = open(dirpath, O_RDONLY|O_SYNC);
oflag = oflag | O_SYNC;
ATF_REQUIRE_ERRNO(EBADF, aio_fsync(O_SYNC, &aio) == -1);
ASSERT_EQ(0, aio_fsync(O_SYNC, &iocb)) << strerror(errno);
ASSERT_EQ(0, aio_fsync(O_SYNC, &iocb)) << strerror(errno);
ret = openat(dfd_cap, "cap_fsync", O_SYNC | O_RDONLY);
CHECK_RESULT(openat(O_SYNC | O_RDONLY),
ret = openat(dfd_cap, "cap_fsync", O_SYNC | O_WRONLY | O_APPEND);
CHECK_RESULT(openat(O_SYNC | O_WRONLY | O_APPEND),
ret = openat(dfd_cap, "cap_fsync", O_SYNC | O_RDWR | O_APPEND);
CHECK_RESULT(openat(O_SYNC | O_RDWR | O_APPEND),
ret = openat(dfd_cap, "cap_fsync", O_SYNC | O_WRONLY);
CHECK_RESULT(openat(O_SYNC | O_WRONLY),
ret = openat(dfd_cap, "cap_fsync", O_SYNC | O_RDWR);
CHECK_RESULT(openat(O_SYNC | O_RDWR),
X(O_SYNC)
extra |= O_SYNC;