* server mode and verify_dump @ 2015-08-03 21:12 Sitsofe Wheeler 2015-08-14 15:47 ` Jens Axboe 0 siblings, 1 reply; 9+ messages in thread From: Sitsofe Wheeler @ 2015-08-03 21:12 UTC (permalink / raw) To: fio Hi, I've noticed that when running fio in server mode it's not possible to get a dump of using verify_dump when a verify mismatch occurs. Is it possible to add a mode where the server process saves the mismatch files to its current working directory for inspection later? -- Sitsofe | http://sucs.org/~sits/ ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: server mode and verify_dump 2015-08-03 21:12 server mode and verify_dump Sitsofe Wheeler @ 2015-08-14 15:47 ` Jens Axboe 2015-08-14 15:58 ` Jens Axboe 0 siblings, 1 reply; 9+ messages in thread From: Jens Axboe @ 2015-08-14 15:47 UTC (permalink / raw) To: Sitsofe Wheeler, fio On 08/03/2015 03:12 PM, Sitsofe Wheeler wrote: > Hi, > > I've noticed that when running fio in server mode it's not possible to > get a dump of using verify_dump when a verify mismatch occurs. Is it > possible to add a mode where the server process saves the mismatch > files to its current working directory for inspection later? That sounds like an oversight. To save time, can you let me know how you are invoking fio and with what job file? Should not be that hard to fixup, it should just work. -- Jens Axboe ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: server mode and verify_dump 2015-08-14 15:47 ` Jens Axboe @ 2015-08-14 15:58 ` Jens Axboe 2015-08-14 19:11 ` Sitsofe Wheeler 0 siblings, 1 reply; 9+ messages in thread From: Jens Axboe @ 2015-08-14 15:58 UTC (permalink / raw) To: Sitsofe Wheeler, fio On 08/14/2015 09:47 AM, Jens Axboe wrote: > On 08/03/2015 03:12 PM, Sitsofe Wheeler wrote: >> Hi, >> >> I've noticed that when running fio in server mode it's not possible to >> get a dump of using verify_dump when a verify mismatch occurs. Is it >> possible to add a mode where the server process saves the mismatch >> files to its current working directory for inspection later? > > That sounds like an oversight. To save time, can you let me know how you > are invoking fio and with what job file? Should not be that hard to > fixup, it should just work. Just tested this, and the fio backend does dump the files if verify_dump=1 is set: [...] <lenny> write3: (g=0): rw=randread, bs=4K-4K/4K-4K/4K-4K, ioengine=sync, iodepth=1 <lenny> Starting 1 process <lenny> crc16: verify failed at file file offset 2023424, length 4096 <lenny> Expected CRC: 5b54 <lenny> Received CRC: c1aa <lenny> received data dumped as file.2023424.received <lenny> expected data dumped as file.2023424.expected -- Jens Axboe ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: server mode and verify_dump 2015-08-14 15:58 ` Jens Axboe @ 2015-08-14 19:11 ` Sitsofe Wheeler 2015-08-14 19:17 ` Jens Axboe 0 siblings, 1 reply; 9+ messages in thread From: Sitsofe Wheeler @ 2015-08-14 19:11 UTC (permalink / raw) To: Jens Axboe; +Cc: fio On 14 August 2015 at 16:58, Jens Axboe <axboe@kernel.dk> wrote: > On 08/14/2015 09:47 AM, Jens Axboe wrote: >> >> On 08/03/2015 03:12 PM, Sitsofe Wheeler wrote: >>> >>> Hi, >>> >>> I've noticed that when running fio in server mode it's not possible to >>> get a dump of using verify_dump when a verify mismatch occurs. Is it >>> possible to add a mode where the server process saves the mismatch >>> files to its current working directory for inspection later? >> >> >> That sounds like an oversight. To save time, can you let me know how you >> are invoking fio and with what job file? Should not be that hard to >> fixup, it should just work. > > > Just tested this, and the fio backend does dump the files if verify_dump=1 > is set: > > [...] > <lenny> write3: (g=0): rw=randread, bs=4K-4K/4K-4K/4K-4K, ioengine=sync, > iodepth=1 > <lenny> Starting 1 process > <lenny> crc16: verify failed at file file offset 2023424, length 4096 > <lenny> Expected CRC: 5b54 > <lenny> Received CRC: c1aa > <lenny> received data dumped as file.2023424.received > <lenny> expected data dumped as file.2023424.expected You're absolutely right. I think I got fooled because of two things: 1. I was trying to use dd to stomp zeros while also using the sync ioengine on a file in /dev/shm and just getting a file I/O error. 2. If fio encounters an error while trying to read the header (even if the blocks are all of the same size) it doesn't dump anything at all (even in non-server circumstances)... -- Sitsofe | http://sucs.org/~sits/ ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: server mode and verify_dump 2015-08-14 19:11 ` Sitsofe Wheeler @ 2015-08-14 19:17 ` Jens Axboe 2015-08-14 19:21 ` Sitsofe Wheeler 0 siblings, 1 reply; 9+ messages in thread From: Jens Axboe @ 2015-08-14 19:17 UTC (permalink / raw) To: Sitsofe Wheeler; +Cc: fio On 08/14/2015 01:11 PM, Sitsofe Wheeler wrote: > On 14 August 2015 at 16:58, Jens Axboe <axboe@kernel.dk> wrote: >> On 08/14/2015 09:47 AM, Jens Axboe wrote: >>> >>> On 08/03/2015 03:12 PM, Sitsofe Wheeler wrote: >>>> >>>> Hi, >>>> >>>> I've noticed that when running fio in server mode it's not possible to >>>> get a dump of using verify_dump when a verify mismatch occurs. Is it >>>> possible to add a mode where the server process saves the mismatch >>>> files to its current working directory for inspection later? >>> >>> >>> That sounds like an oversight. To save time, can you let me know how you >>> are invoking fio and with what job file? Should not be that hard to >>> fixup, it should just work. >> >> >> Just tested this, and the fio backend does dump the files if verify_dump=1 >> is set: >> >> [...] >> <lenny> write3: (g=0): rw=randread, bs=4K-4K/4K-4K/4K-4K, ioengine=sync, >> iodepth=1 >> <lenny> Starting 1 process >> <lenny> crc16: verify failed at file file offset 2023424, length 4096 >> <lenny> Expected CRC: 5b54 >> <lenny> Received CRC: c1aa >> <lenny> received data dumped as file.2023424.received >> <lenny> expected data dumped as file.2023424.expected > > You're absolutely right. I think I got fooled because of two things: > 1. I was trying to use dd to stomp zeros while also using the sync > ioengine on a file in /dev/shm and just getting a file I/O error. > 2. If fio encounters an error while trying to read the header (even if > the blocks are all of the same size) it doesn't dump anything at all > (even in non-server circumstances)... Right, I suspected that might have been the case. If the header isn't valid, then fio doesn't dump any contents. One could argue that it would be cleaner if the backend send the files to the frontend to store, since that's where you are running fio from. But at least they are there, on the backend side. -- Jens Axboe ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: server mode and verify_dump 2015-08-14 19:17 ` Jens Axboe @ 2015-08-14 19:21 ` Sitsofe Wheeler 2015-08-14 19:22 ` Jens Axboe 0 siblings, 1 reply; 9+ messages in thread From: Sitsofe Wheeler @ 2015-08-14 19:21 UTC (permalink / raw) To: Jens Axboe; +Cc: fio On 14 August 2015 at 20:17, Jens Axboe <axboe@kernel.dk> wrote: > Right, I suspected that might have been the case. If the header isn't valid, > then fio doesn't dump any contents. One could argue that it would be cleaner What do you think it would take to dump a block's worth of data when encountering a header error during a verify? -- Sitsofe | http://sucs.org/~sits/ ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: server mode and verify_dump 2015-08-14 19:21 ` Sitsofe Wheeler @ 2015-08-14 19:22 ` Jens Axboe 2015-08-14 19:41 ` Sitsofe Wheeler 0 siblings, 1 reply; 9+ messages in thread From: Jens Axboe @ 2015-08-14 19:22 UTC (permalink / raw) To: Sitsofe Wheeler; +Cc: fio On 08/14/2015 01:21 PM, Sitsofe Wheeler wrote: > On 14 August 2015 at 20:17, Jens Axboe <axboe@kernel.dk> wrote: >> Right, I suspected that might have been the case. If the header isn't valid, >> then fio doesn't dump any contents. One could argue that it would be cleaner > > What do you think it would take to dump a block's worth of data when > encountering a header error during a verify? Without a valid header, we can't re-generate the data. That's why it currently doesn't dump the expected contents if the header verification fails. -- Jens Axboe ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: server mode and verify_dump 2015-08-14 19:22 ` Jens Axboe @ 2015-08-14 19:41 ` Sitsofe Wheeler 2015-08-14 19:50 ` Jens Axboe 0 siblings, 1 reply; 9+ messages in thread From: Sitsofe Wheeler @ 2015-08-14 19:41 UTC (permalink / raw) To: Jens Axboe; +Cc: fio On 14 August 2015 at 20:22, Jens Axboe <axboe@kernel.dk> wrote: > On 08/14/2015 01:21 PM, Sitsofe Wheeler wrote: >> >> On 14 August 2015 at 20:17, Jens Axboe <axboe@kernel.dk> wrote: >>> >>> Right, I suspected that might have been the case. If the header isn't >>> valid, >>> then fio doesn't dump any contents. One could argue that it would be >>> cleaner >> >> >> What do you think it would take to dump a block's worth of data when >> encountering a header error during a verify? > > > Without a valid header, we can't re-generate the data. That's why it > currently doesn't dump the expected contents if the header verification > fails. I see. Even fixed patterns would be a pain unless they have an entirely separate code path. How about just dumping whatever you received even if it was just a header's worth? -- Sitsofe | http://sucs.org/~sits/ ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: server mode and verify_dump 2015-08-14 19:41 ` Sitsofe Wheeler @ 2015-08-14 19:50 ` Jens Axboe 0 siblings, 0 replies; 9+ messages in thread From: Jens Axboe @ 2015-08-14 19:50 UTC (permalink / raw) To: Sitsofe Wheeler; +Cc: fio On 08/14/2015 01:41 PM, Sitsofe Wheeler wrote: > On 14 August 2015 at 20:22, Jens Axboe <axboe@kernel.dk> wrote: >> On 08/14/2015 01:21 PM, Sitsofe Wheeler wrote: >>> >>> On 14 August 2015 at 20:17, Jens Axboe <axboe@kernel.dk> wrote: >>>> >>>> Right, I suspected that might have been the case. If the header isn't >>>> valid, >>>> then fio doesn't dump any contents. One could argue that it would be >>>> cleaner >>> >>> >>> What do you think it would take to dump a block's worth of data when >>> encountering a header error during a verify? >> >> >> Without a valid header, we can't re-generate the data. That's why it >> currently doesn't dump the expected contents if the header verification >> fails. > > I see. Even fixed patterns would be a pain unless they have an > entirely separate code path. How about just dumping whatever you > received even if it was just a header's worth? It's not guaranteed that we could do it. We could always just fake up a new header, but we don't know the seed and other important things. It would be trivial to dump the received block of data, but that seems a bit pointless when we don't have the expected data. Since the offset+size is listed in the output, getting the same from 'dd' or a similar tool would be easy enough. But I'm willing to be convinced. Dumping the received data is a quick change. -- Jens Axboe ^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2015-08-14 19:50 UTC | newest] Thread overview: 9+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2015-08-03 21:12 server mode and verify_dump Sitsofe Wheeler 2015-08-14 15:47 ` Jens Axboe 2015-08-14 15:58 ` Jens Axboe 2015-08-14 19:11 ` Sitsofe Wheeler 2015-08-14 19:17 ` Jens Axboe 2015-08-14 19:21 ` Sitsofe Wheeler 2015-08-14 19:22 ` Jens Axboe 2015-08-14 19:41 ` Sitsofe Wheeler 2015-08-14 19:50 ` Jens Axboe
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox