1/* fsync.c - Synchronize a file's in-core state with storage device. 2 * 3 * Copyright 2015 Ranjan Kumar <ranjankumar.bth@gmail.comi> 4 * 5 * No Standard. 6 7USE_FSYNC(NEWTOY(fsync, "<1d", TOYFLAG_BIN)) 8 9config FSYNC 10 bool "fsync" 11 default y 12 help 13 usage: fsync [-d] [FILE...] 14 15 Synchronize a file's in-core state with storage device. 16 17 -d Avoid syncing metadata 18*/ 19 20#define FOR_fsync 21#include "toys.h" 22 23static void do_fsync(int fd, char *name) 24{ 25 if (((toys.optflags & FLAG_d) ? fdatasync(fd) : fsync(fd))) 26 perror_msg("can't sync '%s'", name); 27} 28 29void fsync_main(void) 30{ 31 loopfiles_rw(toys.optargs, O_RDONLY|O_NOATIME|O_NOCTTY|O_CLOEXEC|WARN_ONLY, 32 0, do_fsync); 33} 34