{"action":"created","issue":{"url":"https://api.github.com/repos/snuf/iomemory-vsl/issues/16","repository_url":"https://api.github.com/repos/snuf/iomemory-vsl","labels_url":"https://api.github.com/repos/snuf/iomemory-vsl/issues/16/labels{/name}","comments_url":"https://api.github.com/repos/snuf/iomemory-vsl/issues/16/comments","events_url":"https://api.github.com/repos/snuf/iomemory-vsl/issues/16/events","html_url":"https://github.com/snuf/iomemory-vsl/issues/16","id":343778290,"node_id":"MDU6SXNzdWUzNDM3NzgyOTA=","number":16,"title":"Silent io drops","user":{"login":"plappermaul","id":10179087,"node_id":"MDQ6VXNlcjEwMTc5MDg3","avatar_url":"https://avatars2.githubusercontent.com/u/10179087?v=4","gravatar_id":"","url":"https://api.github.com/users/plappermaul","html_url":"https://github.com/plappermaul","followers_url":"https://api.github.com/users/plappermaul/followers","following_url":"https://api.github.com/users/plappermaul/following{/other_user}","gists_url":"https://api.github.com/users/plappermaul/gists{/gist_id}","starred_url":"https://api.github.com/users/plappermaul/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/plappermaul/subscriptions","organizations_url":"https://api.github.com/users/plappermaul/orgs","repos_url":"https://api.github.com/users/plappermaul/repos","events_url":"https://api.github.com/users/plappermaul/events{/privacy}","received_events_url":"https://api.github.com/users/plappermaul/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":5,"created_at":"2018-07-23T20:12:29Z","updated_at":"2018-07-26T12:09:29Z","closed_at":null,"author_association":"NONE","body":"Hello,\r\n\r\niomemory-vsl silently drops io operations (I observed reads at least). Situation is as follows:\r\n\r\n- Linux can issue io request of size up to /sys/block/\\<device\\>/queue/max_sectors_kb size.\r\n- This limit has raised to 1MB in /include/linux/blkdev.h with Parameter BLK_DEF_MAX_SECTORS since version 4.x \r\n- iomemory-vsl has some (yet unknown) limit of 257 blocks it can process per request via scatter gather lists.\r\n- if a single requests exceeds 257*4K kfio_sgl_map_bio() will return -EINVAL\r\n- The caller kfio_map_to_fbio() will drop the bio afterwards.\r\n\r\nAn easy reproducer of the error should be to increase max_sectors_kb of fio device to 1024KB. Afterwards read some MB with dd from same device location twice into two files. The content will be different.\r\n\r\n```\r\n# echo 1024  > /sys/block/fioa/queue/max_sectors_kb\r\n# ./run_check.sh\r\nread 2 times 256K from /dev/fioa1, checksums are\r\n16171   256\r\n16171   256\r\nread 2 times 2M from /dev/fioa1, checksums are\r\n17189  2048\r\n28665  2048\r\n# echo 256  > /sys/block/fioa/queue/max_sectors_kb\r\n# ./run_check.sh\r\nread 2 times 256K from /dev/fioa1, checksums are\r\n16171   256\r\n16171   256\r\nread 2 times 2M from /dev/fioa1, checksums are\r\n54935  2048\r\n54935  2048\r\n\r\n```\r\nRemark: During my debugging session I noticed that iomemory-vsl sometimes issues twice the maximum request size. Not yet any idea where this comes from.\r\n"},"comment":{"url":"https://api.github.com/repos/snuf/iomemory-vsl/issues/comments/408075917","html_url":"https://github.com/snuf/iomemory-vsl/issues/16#issuecomment-408075917","issue_url":"https://api.github.com/repos/snuf/iomemory-vsl/issues/16","id":408075917,"node_id":"MDEyOklzc3VlQ29tbWVudDQwODA3NTkxNw==","user":{"login":"plappermaul","id":10179087,"node_id":"MDQ6VXNlcjEwMTc5MDg3","avatar_url":"https://avatars2.githubusercontent.com/u/10179087?v=4","gravatar_id":"","url":"https://api.github.com/users/plappermaul","html_url":"https://github.com/plappermaul","followers_url":"https://api.github.com/users/plappermaul/followers","following_url":"https://api.github.com/users/plappermaul/following{/other_user}","gists_url":"https://api.github.com/users/plappermaul/gists{/gist_id}","starred_url":"https://api.github.com/users/plappermaul/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/plappermaul/subscriptions","organizations_url":"https://api.github.com/users/plappermaul/orgs","repos_url":"https://api.github.com/users/plappermaul/repos","events_url":"https://api.github.com/users/plappermaul/events{/privacy}","received_events_url":"https://api.github.com/users/plappermaul/received_events","type":"User","site_admin":false},"created_at":"2018-07-26T12:09:29Z","updated_at":"2018-07-26T12:09:29Z","author_association":"NONE","body":"Status for now\r\n\r\nreadahead -> ok, fixed (see above)\r\ndirectio -> ok, fixed (see above)\r\n\r\ndmesg is clean after initial tests.\r\n"}}
{"actor":{"display_login":"plappermaul"}}