Flexible I/O Tester development
 help / color / mirror / Atom feed
* io_u error using offsets
       [not found] <1364943454.39595.1353345861273.JavaMail.root@thomas-krenn.com>
@ 2012-11-19 17:46 ` Georg Schönberger
  2012-11-21  9:44   ` Jens Axboe
  0 siblings, 1 reply; 2+ messages in thread
From: Georg Schönberger @ 2012-11-19 17:46 UTC (permalink / raw)
  To: fio

Hello,

I am trying to divide a 4TB hard disk into 128 equal parts. Therefore I divide the disk size (in Bytes) with 128 - this is my increment size. Then I start several fio job rounds with the offset increasing every round by the increment. Unfortunately I get an error for the first offset not equal to 0.
I suppose this is an issue with the offsets not being correctly aligned.
Here is my call to fio:
$ sudo /usr/local/bin/fio --rw=randrw --name=wd --offset=31256148672 --direct=1 --bs=64k --filename=/dev/sdi --rwmixread=100 --numjobs=1 --ioengine=libaio --runtime=60 --iodepth=16 --size=31256148672 --group_reporting --debug=all

Here is the error message and the debug output:
[...]
random   18174 off rand 2400737531
random   18174 free: b=266586, idx=4165, bit=26
random   18174 free: b=266586, idx=4165, bit=26
io       18174 fill_io_u: io_u 0x16ed510: off=48727128768/len=65536/ddir=0//dev/sdi
io       18174 prep: io_u 0x16ed510: off=48727128768/len=65536/ddir=0//dev/sdi
io       18174 ->prep(0x16ed510)=0
io       18174 queue: io_u 0x16ed510: off=48727128768/len=65536/ddir=0//dev/sdi
io       18174 calling ->commit(), depth 16
io       18174 io_u_queued_completed: min=1
io       18174 getevents: 1
io       18174 io complete: io_u 0x16eff80: off=33141291712/len=65536/ddir=0//dev/sdi
fio: io_u error on file /dev/sdi: Invalid argument
     read offset=33141291712, buflen=65536
file     18174 put file /dev/sdi, ref=17
io       18174 io_u_queued_completed: min=0
io       18174 getevents: 1
io       18174 io complete: io_u 0x16efcb0: off=54394616512/len=65536/ddir=0//dev/sdi
fio: io_u error on file /dev/sdi: Invalid argument
     read offset=54394616512, buflen=65536
file     18174 put file /dev/sdi, ref=16
fio: pid=18174, err=22/file:io_u.c:1305, func=io_u error, error=Invalid argument
file     18174 close files
file     18174 put file /dev/sdi, ref=15

I am happy with any suggestions =)
Best regards Georg

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: io_u error using offsets
  2012-11-19 17:46 ` io_u error using offsets Georg Schönberger
@ 2012-11-21  9:44   ` Jens Axboe
  0 siblings, 0 replies; 2+ messages in thread
From: Jens Axboe @ 2012-11-21  9:44 UTC (permalink / raw)
  To: Georg Schönberger; +Cc: fio

On 2012-11-19 18:46, Georg Schönberger wrote:
> Hello,
> 
> I am trying to divide a 4TB hard disk into 128 equal parts. Therefore I divide the disk size (in Bytes) with 128 - this is my increment size. Then I start several fio job rounds with the offset increasing every round by the increment. Unfortunately I get an error for the first offset not equal to 0.
> I suppose this is an issue with the offsets not being correctly aligned.
> Here is my call to fio:
> $ sudo /usr/local/bin/fio --rw=randrw --name=wd --offset=31256148672 --direct=1 --bs=64k --filename=/dev/sdi --rwmixread=100 --numjobs=1 --ioengine=libaio --runtime=60 --iodepth=16 --size=31256148672 --group_reporting --debug=all

You get the error because 31256148672 isn't a multiple of 512b (which
I'm assuming is your sector size), hence the IO will be unaligned.
Direct IO cannot be unaligned, that's why you get an EINVAL from the OS.

-- 
Jens Axboe


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2012-11-21  9:45 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <1364943454.39595.1353345861273.JavaMail.root@thomas-krenn.com>
2012-11-19 17:46 ` io_u error using offsets Georg Schönberger
2012-11-21  9:44   ` Jens Axboe

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox