if (io_u->ddir == DDIR_SYNC)
return 0;
- if (io_u->offset == f->last_completed_pos)
- return 0;
if (lseek(f->fd, io_u->offset, SEEK_SET) == -1) {
td_verror(td, errno, "lseek");
*/
if (sd->queued)
return FIO_Q_BUSY;
+ if (io_u->ddir == DDIR_SYNC) {
+ int ret = fsync(io_u->file->fd);
+
+ return fio_io_end(td, io_u, ret);
+ }
sd->queued = 0;
sd->queued_bytes = 0;
if (!sd->queued)
return 0;
+ io_u_mark_submit(td, sd->queued);
f = sd->last_file;
if (lseek(f->fd, sd->io_us[0]->offset, SEEK_SET) == -1) {