On 03/19/2014 10:02 AM, Sébastien Bouchex Bellomié wrote:
Hi, I'm having an issue on windows : unlink=1 is not working (temp file are still there) and it's working fine on unix Looking at the code in close_and_free_files function : [...] if (td->o.unlink && f->filetype == FIO_TYPE_FILE) { dprint(FD_FILE, "free unlink %s\n", f->file_name); unlink(f->file_name); } [...] Unlink() fails because the file is still open : On Solaris, truss shows the following : [...] write(3, "\0\0\0\0\0 ;80\0\0\0\0\0".., 32768) = 32768 unlink("/data/fio/random_rw.0.0") = 0 close(3) = 0 [...] So unlink is called first. I would put this unlinking phase AFTER the remove_file_hash call.
Sure, we can move the unlink down a bit, should not matter really. Linux doesn't care when you call unlink, last close will just really unlink it. But if other operating systems do care, then I'll just move it.
http://git.kernel.dk/?p=fio.git;a=commit;h=b5f4d8baefc6eb3e13235b7d9042b7ffecdb23dd -- Jens Axboe -- To unsubscribe from this list: send the line "unsubscribe fio" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html