{"push_id":1919101027,"size":5,"distinct_size":4,"ref":"refs/heads/serialize_overlap","head":"9b60f7afd6a9d867b32d0c6ddce88ac37a827278","before":"77091727f997b75d927369165fb660a9eafc3145","commits":[{"sha":"a94a977497636bdcbef7106ce3617c96c8ad66bd","author":{"name":"Tomohiro Kusumi","email":"7c90e39a2170d610f3f83af99aaf0802968a8b2c@tuxera.com"},"message":"HOWTO: fix unit type suffix in \"Parameter types\" section to upper case\n\nRedo 9ff84231('HOWTO: fix unit type suffix in \"Parameter types\" section').\n\n> These should be all in lower case or all in upper case, but not both.\n> The man page already has these in lower case.\n\nChange above to all upper case based on below comment, instead of all\nin lower. Fix the man page (which originally had in lower) as well.\n\nRE: [PATCH 2/4] HOWTO: fix unit type suffix in \"Parameter types\" section\nhttp://www.spinics.net/lists/fio/msg06146.html\nSigned-off-by: Tomohiro Kusumi <tkusumi@tuxera.com>\nSigned-off-by: Jens Axboe <axboe@kernel.dk>","distinct":false,"url":"https://api.github.com/repos/sitsofe/fio/commits/a94a977497636bdcbef7106ce3617c96c8ad66bd"},{"sha":"9784ce56a902acaa0f04602ad0d853d877583969","author":{"name":"Sitsofe Wheeler","email":"0243543eb717e0eae7b7595712472053d92c9c82@yahoo.com"},"message":"fio: add serialize_overlap option\n\nIf this isn't set (the default) fio can submit write I/Os that overlap\ntoher in-flight I/Os leading to potential data races. For example the\nfollowing job frequently fails at the verification stage:\n\n./fio --random_distribution=zipf:1.6 --direct=1 --filename \\\n /tmp/fiofile --ioengine=posixaio --iodepth=32 --size=20M --bs=4k \\\n --rw=randwrite --verify=crc32c --name=verifyoverlap\n\nWhen serialize_overlap=1 fio avoids creating such races.\n\nThanks to Rachel Lunnon (StorMagic) for helping me debug the initial\nversion of this!\n\nFixes: https://github.com/axboe/fio/issues/335\n\nv2: Fix merge conflict and add missing conversion.\nv3: Add man page, fix serialize_overlap disabling, improve commit\n    message.\n\nSigned-off-by: Sitsofe Wheeler <sitsofe@yahoo.com>","distinct":true,"url":"https://api.github.com/repos/sitsofe/fio/commits/9784ce56a902acaa0f04602ad0d853d877583969"},{"sha":"ce5145ec98547a5ab937d292a3159a0f076c556d","author":{"name":"Sitsofe Wheeler","email":"0243543eb717e0eae7b7595712472053d92c9c82@yahoo.com"},"message":"iolog: fix double free when verified I/O overlaps\n\nWhen running\nvalgrind ./fio --randseed=1 --ioengine=libaio --thread --rw=randrw \\\n --random_distribution=zipf:1.4 --filename=/tmp/fiofile --io_limit=50M \\\n --verify=crc32c --name=verifyfree --iodepth=32 --bsrange=512-1M --size=100M\n\nvalgrind reports:\n==29301== Invalid read of size 4\n==29301==    at 0x44ADFC: io_completed (io_u.c:1835)\n==29301==    by 0x44B215: ios_completed (io_u.c:1924)\n==29301==    by 0x44B683: io_u_queued_complete (io_u.c:1983)\n==29301==    by 0x46FA6F: wait_for_completions (backend.c:455)\n==29301==    by 0x471568: do_io (backend.c:1046)\n==29301==    by 0x474405: thread_main (backend.c:1746)\n==29301==    by 0x576E6B9: start_thread (pthread_create.c:333)\n==29301==    by 0x5C8E82C: clone (clone.S:109)\n==29301==  Address 0x62cf988 is 72 bytes inside a block of size 88 free'd\n==29301==    at 0x4C2EDEB: free (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)\n\nWhen the __ipo is still in-flight we shouldn't free it when it overlaps\nbecause it will be used at I/O completion time. Fixes\nhttps://github.com/axboe/fio/issues/336 .\n\nSigned-off-by: Sitsofe Wheeler <sitsofe@yahoo.com>","distinct":true,"url":"https://api.github.com/repos/sitsofe/fio/commits/ce5145ec98547a5ab937d292a3159a0f076c556d"},{"sha":"42a035020742aef2362355e145b7bcf6e420c721","author":{"name":"Sitsofe Wheeler","email":"0243543eb717e0eae7b7595712472053d92c9c82@yahoo.com"},"message":"iolog: remove random layout verification optimisation\n\nRunning the following fio jobs unexpectedly reports a verification\nfailure:\nrm /tmp/tmp.fio; ./fio --iodepth=1 \\\n --verify=pattern --verify_fatal=1 --size=100M --bsrange=512-128k \\\n --rw=randwrite --verify_backlog=128 --filename=/tmp/tmp.fio \\\n --verify_pattern=\"%o\" --name=spuriousmismatch1\n\nrm /tmp/tmp.fio; ./fio --iodepth=1 \\\n --verify=crc32c --verify_fatal=1 --size=100M --bs=4k \\\n --rw=randwrite --verify_backlog=20 --filename=/tmp/tmp.fio \\\n --percentage_random=50 --randseed=86 --name=spuriousmismatch2\n\nIn the case of the first job, using a bsrange where the start and end\nare different can cause random write I/O to overlap an already written\nregion making the original data unverifiable.\n\nFor the second job, when percentage_random is between 1 and 99 the same\noffset can be generated multiple times but only the last write to that\noffset should be verified.\n\nRather than special casing the growing number of random jobs that might\ngenerate overlaps while still having a randommap, and given preallocation\nduring layout is the default where possible, just remove the overwrite=0\noptimisation thus forcing all random jobs to be checked for overlaps. It\nis still possible to force the old behaviour by setting verifysort=0.\n\nFixes https://github.com/axboe/fio/issues/335 and\nhttps://github.com/axboe/fio/issues/344 .\n\nSigned-off-by: Sitsofe Wheeler <sitsofe@yahoo.com>","distinct":true,"url":"https://api.github.com/repos/sitsofe/fio/commits/42a035020742aef2362355e145b7bcf6e420c721"},{"sha":"9b60f7afd6a9d867b32d0c6ddce88ac37a827278","author":{"name":"Sitsofe Wheeler","email":"0243543eb717e0eae7b7595712472053d92c9c82@yahoo.com"},"message":"iolog: tidy up log_io_piece() conditional\n\nCode inspection shows there are currently guards in the call sites of\nlog_io_piece() that prevent log_io_piece() being called when\ntd->o.verify == VERIFY_NONE so skip checking it within log_io_piece().\n\nSigned-off-by: Sitsofe Wheeler <sitsofe@yahoo.com>","distinct":true,"url":"https://api.github.com/repos/sitsofe/fio/commits/9b60f7afd6a9d867b32d0c6ddce88ac37a827278"}]}
{"actor":{"display_login":"sitsofe"}}