> You can only fsync given a file descriptor, but I think writing an fsync binary that opens the file read-only, fsync on the descriptor, and close the file, should work.
Use this little program to verify your assumptions (I have no time right now): #include <fcntl.h> /* open(), O_RDONLY */ #include <unistd.h> /* fsync() */ #include <errno.h> /* errno */ #include <string.h> /* strerror() */ #include <stdio.h> /* fprintf(), stderr */ int main(int argc, char **argv) { char *file_name; /* Name of the file to sync */ int fd; /* File descriptor */ int exit_code=0; int i; /* For each argument, except program itself */ for(i=1; i<argc; i++) { file_name=argv[i]; /* Open file in readonly mode, unbuffered mode */ fd=open(argv[i], O_RDONLY); /* Ignore errors */ if(fd==-1) { fprintf(stderr,"Cannot open file \"%s\": %s\n",file_name, strerror(errno)); /* Ignore errors */ exit_code=1; /* Return non-zero exit code to indicate problem. */ continue; } if(fsync(fd)==-1) { fprintf(stderr,"Cannot open file \"%s\": %s\n",file_name, strerror(errno)); /* Ignore errors */ exit_code=1; /* Return non-zero exit code to indicate problem. */ continue; } } return exit_code; } -- Ext4 data loss https://bugs.launchpad.net/bugs/317781 You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs