{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":2273467,"defaultBranch":"master","name":"blktap","ownerLogin":"xapi-project","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2011-08-26T10:15:05.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/317268?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1714035276.0","currentOid":""},"activityList":{"items":[{"before":"2cf312b02de5763c51f7a5c3bddfc358228d4863","after":"7b1fe8b7393128c50ed4a317d4b9f8ef199def27","ref":"refs/heads/master","pushedAt":"2024-05-15T13:47:11.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"MarkSymsCtx","name":"Mark Syms","path":"/MarkSymsCtx","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11837938?s=80&v=4"},"commit":{"message":"More unit tests for scheduler. Use eventfd instead of a pipe.\n\nSigned-off-by: Kevin Lampis ","shortMessageHtmlLink":"More unit tests for scheduler. Use eventfd instead of a pipe."}},{"before":"88650970f1bbdfe71a58d11a5620caecb11a202e","after":"2cf312b02de5763c51f7a5c3bddfc358228d4863","ref":"refs/heads/master","pushedAt":"2024-04-25T08:47:59.000Z","pushType":"pr_merge","commitsCount":7,"pusher":{"login":"MarkSymsCtx","name":"Mark Syms","path":"/MarkSymsCtx","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11837938?s=80&v=4"},"commit":{"message":"Free parent locator name after use\n\nSigned-off-by: Mark Syms ","shortMessageHtmlLink":"Free parent locator name after use"}},{"before":"219d0c2a610c4299e1ad4d71c54c289cebcf7ed0","after":"88650970f1bbdfe71a58d11a5620caecb11a202e","ref":"refs/heads/master","pushedAt":"2024-03-27T11:19:52.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"MarkSymsCtx","name":"Mark Syms","path":"/MarkSymsCtx","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11837938?s=80&v=4"},"commit":{"message":"CP-48057: Add more scheduler timeout tests, fix typo\n\nSigned-off-by: Kevin Lampis ","shortMessageHtmlLink":"CP-48057: Add more scheduler timeout tests, fix typo"}},{"before":"1e167095392b5a7ccbdef0bf99240e8030f8e4d4","after":"219d0c2a610c4299e1ad4d71c54c289cebcf7ed0","ref":"refs/heads/master","pushedAt":"2024-03-26T14:44:17.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"MarkSymsCtx","name":"Mark Syms","path":"/MarkSymsCtx","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11837938?s=80&v=4"},"commit":{"message":"CA-390490: allocate vhd request before locking bat\n\nIn the possible event that there were no available vhd_request\navailable it was possible that the operation would be failed having\nmarked the BAT as locked with no attempt to unwind that lock. As it\nhappens unwinding the lock could potentially be difficult as it is\npermitted for multiple requests which are updating the same newly\ncreated allocation block to be submitted so, just because the\nVHD_FLAG_REQ_UPDATE_BAT flag is set it is not certain that this\nrequest was the first to lock. To simplify this, first acquire the\nvhd_request which has simple cleanup if it fails, then acquire the BAT\nlock and release the vhd_request if this fails.\n\nSigned-off-by: Mark Syms ","shortMessageHtmlLink":"CA-390490: allocate vhd request before locking bat"}},{"before":"26019a2fce3d79213204c00bb671e9b7484ad10f","after":"1e167095392b5a7ccbdef0bf99240e8030f8e4d4","ref":"refs/heads/master","pushedAt":"2024-03-26T13:40:48.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"MarkSymsCtx","name":"Mark Syms","path":"/MarkSymsCtx","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11837938?s=80&v=4"},"commit":{"message":"CA-384162: Send completions for all partial responses\n\nAfter tapdisk-vbd forwards a td_request_t to the next driver layer\nthat driver is at liberty to decompose the request into smaller\nsub-requests, e.g. to accomodate spanning a VHD allocation block\nboundary. If this occurs, the individual sub-requests will complete\nindependently and call the request callback in the higher driver\nlayer.\n\nThe callback handler in block-valve, `__valve_complete_treq`\ndoes not correctly handle the condition if an intermediate request\ncompletes with an error but the final request which decrements the\noutstanding sector count to 0 suceeds. This results in a completion\nbeing sent to the next layer up the stack reporting that the entire IO\nrequest is complete when actually it is not and thus at some point\nlater the guest VM will detect corruption to its disk structure,\nfilesystem etc.\n\nCorrect this behaviour by forwarding the completion event to the next\nlayer up the stack.\n\nSigned-off-by: Mark Syms ","shortMessageHtmlLink":"CA-384162: Send completions for all partial responses"}},{"before":"706a2667b3e5558cba32a87a3a25b60bb60fb356","after":"26019a2fce3d79213204c00bb671e9b7484ad10f","ref":"refs/heads/master","pushedAt":"2024-01-26T10:02:51.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"MarkSymsCtx","name":"Mark Syms","path":"/MarkSymsCtx","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11837938?s=80&v=4"},"commit":{"message":"Fixup various bits of incorrect automake usage\n\nSigned-off-by: Mark Syms ","shortMessageHtmlLink":"Fixup various bits of incorrect automake usage"}},{"before":"9a3bea42ff98f5025991d486d692b85a0fa6d5ae","after":"706a2667b3e5558cba32a87a3a25b60bb60fb356","ref":"refs/heads/master","pushedAt":"2024-01-15T11:24:17.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"MarkSymsCtx","name":"Mark Syms","path":"/MarkSymsCtx","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11837938?s=80&v=4"},"commit":{"message":"Fix the order of linker options in CBT\n\nIn recent toolchain versions having the -l options before the .la file\nresults in the exported functions in the libraries not being seen by\nthe linker if LTO is disabled.\n\nSigned-off-by: Mark Syms ","shortMessageHtmlLink":"Fix the order of linker options in CBT"}},{"before":"56313e79b41ac3908ed29934e32b2c3b5892a763","after":"9a3bea42ff98f5025991d486d692b85a0fa6d5ae","ref":"refs/heads/master","pushedAt":"2023-12-11T12:19:21.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"MarkSymsCtx","name":"Mark Syms","path":"/MarkSymsCtx","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11837938?s=80&v=4"},"commit":{"message":"Do not free iconv cd if allocation fails\n\nSigned-off-by: Mark Syms ","shortMessageHtmlLink":"Do not free iconv cd if allocation fails"}},{"before":"d1d4f2a9eb17b232a04ec5a4f583922860b5c78b","after":"56313e79b41ac3908ed29934e32b2c3b5892a763","ref":"refs/heads/master","pushedAt":"2023-12-11T12:19:09.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"MarkSymsCtx","name":"Mark Syms","path":"/MarkSymsCtx","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11837938?s=80&v=4"},"commit":{"message":"Fix setting of CFLAGS for mockatests\n\nSigned-off-by: Mark Syms ","shortMessageHtmlLink":"Fix setting of CFLAGS for mockatests"}},{"before":"0f9e5ab7403b3b82eadc0419c8f3d2136dea204c","after":"d1d4f2a9eb17b232a04ec5a4f583922860b5c78b","ref":"refs/heads/master","pushedAt":"2023-11-29T13:33:16.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"MarkSymsCtx","name":"Mark Syms","path":"/MarkSymsCtx","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11837938?s=80&v=4"},"commit":{"message":"CP-46764: When the VBD is quiesced skip checking for requests to submit\n\nSigned-off-by: Mark Syms ","shortMessageHtmlLink":"CP-46764: When the VBD is quiesced skip checking for requests to submit"}},{"before":"4e4abe496445caffa4651e22298e416e32970cef","after":"0f9e5ab7403b3b82eadc0419c8f3d2136dea204c","ref":"refs/heads/master","pushedAt":"2023-11-27T15:09:53.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"MarkSymsCtx","name":"Mark Syms","path":"/MarkSymsCtx","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11837938?s=80&v=4"},"commit":{"message":"CP-46771: separate queue checks for completed and new requests.\n\nOnly check for new requests if the VBD request queues are not quiesced\nor in the process of being quiesced.\n\nSigned-off-by: Mark Syms ","shortMessageHtmlLink":"CP-46771: separate queue checks for completed and new requests."}},{"before":"8f0f3e964b08ccfee62b9da3980dca07576c55fa","after":"4e4abe496445caffa4651e22298e416e32970cef","ref":"refs/heads/master","pushedAt":"2023-11-27T13:59:12.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"MarkSymsCtx","name":"Mark Syms","path":"/MarkSymsCtx","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11837938?s=80&v=4"},"commit":{"message":"CP-46778: always issue request via issue_requests\n\nUse one point of assessment of outstanding work queues to issue\nrequests into the driver layer for consitency and ensuring a common\nset of criteria are applied to which requests to forward.\n\nSigned-off-by: Mark Syms ","shortMessageHtmlLink":"CP-46778: always issue request via issue_requests"}},{"before":"27c5a9df95e66ba8abb25a92331c3d8adf48f7f9","after":"8f0f3e964b08ccfee62b9da3980dca07576c55fa","ref":"refs/heads/master","pushedAt":"2023-11-27T13:58:14.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"MarkSymsCtx","name":"Mark Syms","path":"/MarkSymsCtx","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11837938?s=80&v=4"},"commit":{"message":"CP-46763: When VBD queue is not ready call the driver completion\n\nWhen the tapdisk-vbd layer receives a request to forward an IO request\nit checks if the VBD queue is ready. If it not ready, either being\nquiesced or less likely is already quiesced, it fails the request with\nEBUSY to allow the entire request to be retired later. When doing so\nit directly calls its own internal completion function and does not\nnotify the forwarding driver of the status which might result in that\ndriver still believing the request to be in progress when it is asked\nto close.\n\nSigned-off-by: Mark Syms ","shortMessageHtmlLink":"CP-46763: When VBD queue is not ready call the driver completion"}},{"before":"1179cd61b46f23aa8ceeafc44e55c21c4617a6ae","after":"27c5a9df95e66ba8abb25a92331c3d8adf48f7f9","ref":"refs/heads/master","pushedAt":"2023-11-23T16:17:15.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"MarkSymsCtx","name":"Mark Syms","path":"/MarkSymsCtx","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11837938?s=80&v=4"},"commit":{"message":"tap-ctl: Improve list output filtering\n\ntap-ctl list is returning the allocated but unattached tapdevs when used\nwith -t and -f. We want to skip those since they don't match.\n\nFull output:\n$ tap-ctl list\n 334529 1 0 vhd /home/user/test.vhd\n 334534 2 0 aio /home/user/test.aio\n - 0 - - -\n\nFiltered before this change:\n$ tap-ctl list -t vhd -f /home/user/test.vhd\n 334529 1 0 vhd /home/user/test.vhd\n - 0 - - -\n\nFiltered after this change:\n$ tap-ctl list -t vhd -f /home/user/test.vhd\n 334529 1 0 vhd /home/user/test.vhd\n\nSigned-off-by: Jason Andryuk ","shortMessageHtmlLink":"tap-ctl: Improve list output filtering"}},{"before":"4862024f3f1f5ff78d39efa0b8941da65f56cff4","after":"1179cd61b46f23aa8ceeafc44e55c21c4617a6ae","ref":"refs/heads/master","pushedAt":"2023-09-07T08:57:15.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"MarkSymsCtx","name":"Mark Syms","path":"/MarkSymsCtx","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11837938?s=80&v=4"},"commit":{"message":"CP-45025: Avoid retries except in a few specific cases\n\nLet the NFS layer control retries instead.\n\nSigned-off-by: Ross Lagerwall ","shortMessageHtmlLink":"CP-45025: Avoid retries except in a few specific cases"}},{"before":"69f0873b434e49abc464f21b45ddd8026afc0d1f","after":"4862024f3f1f5ff78d39efa0b8941da65f56cff4","ref":"refs/heads/master","pushedAt":"2023-09-06T09:20:51.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"MarkSymsCtx","name":"Mark Syms","path":"/MarkSymsCtx","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11837938?s=80&v=4"},"commit":{"message":"CP-40871: return the number of sectors coalesced from vhd-util\n\nSigned-off-by: Mark Syms ","shortMessageHtmlLink":"CP-40871: return the number of sectors coalesced from vhd-util"}},{"before":"d3c4fa708ae070e86bfbf0327950d4ef951153a0","after":"69f0873b434e49abc464f21b45ddd8026afc0d1f","ref":"refs/heads/master","pushedAt":"2023-08-01T10:19:18.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"MarkSymsCtx","name":"Mark Syms","path":"/MarkSymsCtx","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11837938?s=80&v=4"},"commit":{"message":"CA-380565: return ETIMEDOUT when -t timeout is hit in IPC select\n\nSigned-off-by: Mark Syms ","shortMessageHtmlLink":"CA-380565: return ETIMEDOUT when -t timeout is hit in IPC select"}},{"before":"ce08effc210b4e0dd2b549d30257e9d3b11bd4d6","after":"d3c4fa708ae070e86bfbf0327950d4ef951153a0","ref":"refs/heads/master","pushedAt":"2023-06-15T09:31:41.949Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"MarkSymsCtx","name":"Mark Syms","path":"/MarkSymsCtx","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11837938?s=80&v=4"},"commit":{"message":"Guard against NULL tiocb in lio event handler\n\nSigned-off-by: Mark Syms ","shortMessageHtmlLink":"Guard against NULL tiocb in lio event handler"}},{"before":"f36ed39d0adc185dd530d366ecfa643dc9e09942","after":"ce08effc210b4e0dd2b549d30257e9d3b11bd4d6","ref":"refs/heads/master","pushedAt":"2023-04-05T15:46:59.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"TimSmithCtx","name":"Tim Smith","path":"/TimSmithCtx","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/41006009?s=80&v=4"},"commit":{"message":"Merge pull request #376 from TimSmithCtx/private/timsmi/IH-298\n\nAdd framework for Doxygen","shortMessageHtmlLink":"Merge pull request #376 from TimSmithCtx/private/timsmi/IH-298"}},{"before":"f4df498bd36ff4f68118aa83e9be86ba2a401e98","after":"f36ed39d0adc185dd530d366ecfa643dc9e09942","ref":"refs/heads/master","pushedAt":"2023-04-04T09:31:36.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"MarkSymsCtx","name":"Mark Syms","path":"/MarkSymsCtx","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11837938?s=80&v=4"},"commit":{"message":"Remove unused optional VHD coalesce code paths\n\nSigned-off-by: Mark Syms ","shortMessageHtmlLink":"Remove unused optional VHD coalesce code paths"}},{"before":"a984a2e55c91f17838fe08dd0534ee07972320b0","after":"f4df498bd36ff4f68118aa83e9be86ba2a401e98","ref":"refs/heads/master","pushedAt":"2023-03-31T10:13:25.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"MarkSymsCtx","name":"Mark Syms","path":"/MarkSymsCtx","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11837938?s=80&v=4"},"commit":{"message":"Remove unused and broken libvhdio\n\nSigned-off-by: Mark Syms ","shortMessageHtmlLink":"Remove unused and broken libvhdio"}},{"before":"39d01d1236ced99adb3d018efebb7590ad6d7114","after":"a984a2e55c91f17838fe08dd0534ee07972320b0","ref":"refs/heads/master","pushedAt":"2023-03-29T10:55:44.797Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"MarkSymsCtx","name":"Mark Syms","path":"/MarkSymsCtx","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11837938?s=80&v=4"},"commit":{"message":"CP-37221: Only read data where present in bitmap\n\nReading an entire 2MB allocation block from the node being coalesced\nwhen only a small portion of it is required incurs a significant\nperformance overhead and makes it hard for the coalesce process to\ncomplete if there is any significant amount of IO occuring in the\nguest. Update vhd_util_coaleasce_block to read only those extents\nmarked as present in the bitmap when the BATMAP is not stuffed.\n\nSigned-off-by: Mark Syms ","shortMessageHtmlLink":"CP-37221: Only read data where present in bitmap"}},{"before":"88e933c03cab5a36bb1abdff06c4fd2ea5a10865","after":"39d01d1236ced99adb3d018efebb7590ad6d7114","ref":"refs/heads/master","pushedAt":"2023-03-29T08:38:53.679Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"MarkSymsCtx","name":"Mark Syms","path":"/MarkSymsCtx","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11837938?s=80&v=4"},"commit":{"message":"Silence GCC stringop-truncation warnings\n\nThe stringop-truncation warning will fire when there is an\nattempt to strncpy N characters into a destination string of\nlength N, including the null character. The safe_strncpy()\nfunction does this for us by copying N characters and truncating\nat length N-1, but the previous strncpy() call is technically\n\"incorrect\" as GCC sees it. Reduce the sz by one to resolve\nthese warnings. This behavior should be functionally equivalent\nto the original.\n\nSigned-off-by: Nicholas Tsirakis ","shortMessageHtmlLink":"Silence GCC stringop-truncation warnings"}},{"before":"9a36e915b43b50d479bd6c4fa8d35da14208c883","after":"88e933c03cab5a36bb1abdff06c4fd2ea5a10865","ref":"refs/heads/master","pushedAt":"2023-03-29T08:38:23.560Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"MarkSymsCtx","name":"Mark Syms","path":"/MarkSymsCtx","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11837938?s=80&v=4"},"commit":{"message":"tapdisk: Make timeval_to_us() static inline\n\ncommit 65c6a3c567d0 removed inline from timeval_to_us() to get blktap to\ncompile. However, it can be made a proper static inline and avoid the\noverhead of a call.\n\nFixes: 65c6a3c567d0 (\"Remove inline from non-static functions\")\nSuggested-by: Andrew Cooper \nSigned-off-by: Jason Andryuk ","shortMessageHtmlLink":"tapdisk: Make timeval_to_us() static inline"}}],"hasNextPage":false,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAESpp8gAA","startCursor":null,"endCursor":null}},"title":"Activity ยท xapi-project/blktap"}