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 [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to