1 /* vi: set sw=4 ts=4: */
3 * Mini fsync implementation for busybox
5 * Copyright (C) 2008 Nokia Corporation. All rights reserved.
7 * Licensed under GPLv2 or later, see file LICENSE in this source tree.
10 //usage:#define fsync_trivial_usage
11 //usage: "[-d] FILE..."
12 //usage:#define fsync_full_usage "\n\n"
13 //usage: "Write files' buffered blocks to disk\n"
14 //usage: "\n -d Avoid syncing metadata"
21 /* This is a NOFORK applet. Be very careful! */
23 int fsync_main(int argc
, char **argv
) MAIN_EXTERNALLY_VISIBLE
;
24 int fsync_main(int argc UNUSED_PARAM
, char **argv
)
29 opts
= getopt32(argv
, "d"); /* fdatasync */
35 status
= EXIT_SUCCESS
;
37 int fd
= open_or_warn(*argv
, O_NOATIME
| O_NOCTTY
| O_RDONLY
);
40 status
= EXIT_FAILURE
;
43 if ((opts
? fdatasync(fd
) : fsync(fd
))) {
44 //status = EXIT_FAILURE; - do we want this?
45 bb_simple_perror_msg(*argv
);