You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
34 lines
683 B
34 lines
683 B
/* fsync.c - Synchronize a file's in-core state with storage device.
|
|
*
|
|
* Copyright 2015 Ranjan Kumar <ranjankumar.bth@gmail.comi>
|
|
*
|
|
* No Standard.
|
|
|
|
USE_FSYNC(NEWTOY(fsync, "<1d", TOYFLAG_BIN))
|
|
|
|
config FSYNC
|
|
bool "fsync"
|
|
default y
|
|
help
|
|
usage: fsync [-d] [FILE...]
|
|
|
|
Synchronize a file's in-core state with storage device.
|
|
|
|
-d Avoid syncing metadata
|
|
*/
|
|
|
|
#define FOR_fsync
|
|
#include "toys.h"
|
|
|
|
static void do_fsync(int fd, char *name)
|
|
{
|
|
if (((toys.optflags & FLAG_d) ? fdatasync(fd) : fsync(fd)))
|
|
perror_msg("can't sync '%s'", name);
|
|
}
|
|
|
|
void fsync_main(void)
|
|
{
|
|
loopfiles_rw(toys.optargs, O_RDONLY|O_NOATIME|O_NOCTTY|O_CLOEXEC|WARN_ONLY,
|
|
0, do_fsync);
|
|
}
|