Flexible I/O Tester development
 help / color / mirror / Atom feed
From: Jens Axboe <axboe@kernel.dk>
To: Brian Fallik <bfallik@bamboom.com>
Cc: Jeff Moyer <jmoyer@redhat.com>,
	"fio@vger.kernel.org" <fio@vger.kernel.org>
Subject: Re: fio file test patterns
Date: Thu, 01 Sep 2011 14:14:13 -0600	[thread overview]
Message-ID: <4E5FE795.6070507@kernel.dk> (raw)
In-Reply-To: <CAOYTo+1Cm4v1QpBmPSTf4pYS170soGByNKJtEvKoXAQFm9JNnw@mail.gmail.com>

On 2011-09-01 12:17, Brian Fallik wrote:
> On Thu, Sep 1, 2011 at 12:06 PM, Jens Axboe <axboe@kernel.dk> wrote:
>> On 2011-09-01 08:18, Brian Fallik wrote:
>>> Perhaps I should describe what I'm seeing.  I have two terminals open.
>>>  In one, I launch:
>>>   $ watch "ls -l foo* | head -n 20"
>>> In the other terminal I kick off fio.  fio first spits out the "Laying
>>> out" messages, one per job.  Immediately the full 4MB files appear in
>>> the directory listing.  *Then* fio starts writing to the files, as
>>> indicated by the fio output.  The size of each file never changes
>>> during the test.
>>>
>>> I wasn't expecting the full 4Mb files to be created before the
>>> sequential writes.  I expected to not see any files initially, and
>>> then a file for each job growing at a rate of 200Kbs throughout the
>>> test until reaching the 4MB limit.
>>>
>>> Perhaps I'm just configuring fio incorrectly?
>>
>> That you see them there does not mean they are actually written. Fio
>> will use truncate to setup the files, but only actually fill them with
>> data if you are going to be reading them (or requested overwrite).
> 
> Digging deeper, I ran fio under strace:
>   25445 stat("foo0", 0x7ffff0a586b0)      = -1 ENOENT (No such file or
> directory)
>   25445 unlink("foo0")                    = -1 ENOENT (No such file or
> directory)
>   25445 open("foo0", O_WRONLY|O_CREAT, 0644) = 3
>   25445 fstat(3, {st_mode=S_IFREG|0644, st_size=0, ...}) = 0
>   25445 fstatfs(3, {f_type=0x58465342, f_bsize=4096,
> f_blocks=4880335840, f_bfree=4880324644, f_bavail=4880324644,
> f_files=19521474432, f_ffree=19521474273, f_fsid={2065, 0},
> f_namelen=255, f_frsize=4096}) = 0
>   25445 pwrite(3, "\0", 1, 4095)          = 1
>   25445 pwrite(3, "\0", 1, 8191)          = 1
>   ...
>   25445 pwrite(3, "\0", 1, 4194303)       = 1
>   25445 fadvise64(3, 0, 4194304, POSIX_FADV_DONTNEED) = 0
>   25445 close(3)

A quick guess would be that your glibc is too old, hence it "emulates"
truncate by helpfully zero filling the file.

-- 
Jens Axboe


      reply	other threads:[~2011-09-01 20:14 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-08-31 17:53 fio file test patterns Brian Fallik
2011-08-31 18:30 ` Jeff Moyer
2011-08-31 19:56   ` Jens Axboe
2011-08-31 20:34     ` Brian Fallik
2011-08-31 21:21       ` Jens Axboe
2011-08-31 21:38         ` Jens Axboe
2011-09-01 14:18           ` Brian Fallik
2011-09-01 16:06             ` Jens Axboe
2011-09-01 18:17               ` Brian Fallik
2011-09-01 20:14                 ` Jens Axboe [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4E5FE795.6070507@kernel.dk \
    --to=axboe@kernel.dk \
    --cc=bfallik@bamboom.com \
    --cc=fio@vger.kernel.org \
    --cc=jmoyer@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox