{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":292381946,"defaultBranch":"master","name":"glommio","ownerLogin":"DataDog","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2020-09-02T19:58:38.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/365230?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1718842719.0","currentOid":""},"activityList":{"items":[{"before":"dd5ef6b339d91df3eb2e49ffe59431443408a252","after":null,"ref":"refs/heads/ci-security","pushedAt":"2024-06-20T00:18:39.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"HippoBaro","name":"Hippolyte Barraud","path":"/HippoBaro","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6069928?s=80&v=4"}},{"before":"4328437ef746bac3ea8da3ce6f566432b57f362d","after":"d3f6e7a2ee7fb071ada163edcf90fc3286424c31","ref":"refs/heads/master","pushedAt":"2024-06-20T00:18:29.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"HippoBaro","name":"Hippolyte Barraud","path":"/HippoBaro","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6069928?s=80&v=4"},"commit":{"message":"add CI security workflow (#668)\n\nAdd supports for Datadog static analysis. It checks rules that validates\r\nthe GitHub actions are safe and secure.","shortMessageHtmlLink":"add CI security workflow (#668)"}},{"before":"1d2c67cb4a522f7793d1bf909aa9ca18b47feb81","after":"dd5ef6b339d91df3eb2e49ffe59431443408a252","ref":"refs/heads/ci-security","pushedAt":"2024-06-20T00:10:12.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"HippoBaro","name":"Hippolyte Barraud","path":"/HippoBaro","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6069928?s=80&v=4"},"commit":{"message":"fix datadog-static-analysis.yml","shortMessageHtmlLink":"fix datadog-static-analysis.yml"}},{"before":"b8e60ff7cadd51f0a61ff64d28da3133f7d4cbc7","after":"1d2c67cb4a522f7793d1bf909aa9ca18b47feb81","ref":"refs/heads/ci-security","pushedAt":"2024-06-20T00:05:56.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"HippoBaro","name":"Hippolyte Barraud","path":"/HippoBaro","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6069928?s=80&v=4"},"commit":{"message":"add datadog-static-analysis.yml","shortMessageHtmlLink":"add datadog-static-analysis.yml"}},{"before":null,"after":"b8e60ff7cadd51f0a61ff64d28da3133f7d4cbc7","ref":"refs/heads/ci-security","pushedAt":"2024-06-20T00:04:43.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"HippoBaro","name":"Hippolyte Barraud","path":"/HippoBaro","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6069928?s=80&v=4"},"commit":{"message":"add static-analysis.datadog.yml","shortMessageHtmlLink":"add static-analysis.datadog.yml"}},{"before":"c373d3500f2c8a0175d027f3ec15ed7668b44f47","after":"4328437ef746bac3ea8da3ce6f566432b57f362d","ref":"refs/heads/master","pushedAt":"2024-05-28T10:25:44.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"glommer","name":"Glauber Costa","path":"/glommer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/331197?s=80&v=4"},"commit":{"message":"Define CFLAG -D_GNU_SOURCE as per liburing ./configure (#665)\n\nThe ./configure script for liburing sets the CFLAG -D_GNU_SOURCE, so we\r\nshould set it on our build.rs as well.\r\n\r\nFixes the following build error with musl libc:\r\n`error: unknown type name 'cpu_set_t'`\r\n\r\nOn musl, `cpu_set_t` is only defined when _GNU_SOURCE is set.","shortMessageHtmlLink":"Define CFLAG -D_GNU_SOURCE as per liburing ./configure (#665)"}},{"before":"83d30239b2512f16e7d7782ac7b57673d42cf769","after":"c373d3500f2c8a0175d027f3ec15ed7668b44f47","ref":"refs/heads/master","pushedAt":"2024-05-13T19:09:55.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"glommer","name":"Glauber Costa","path":"/glommer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/331197?s=80&v=4"},"commit":{"message":"Improve Gate::close to support repeated calls (#662)\n\n* Improve Gate::close to support repeated calls\r\n\r\nIf Gate::close has a timeout, closing the gate is left in a dangling\r\nstate with no way to safely resume waiting. This change makes it safe in\r\nthat calling close on a closing Gate still waits for any outstanding\r\ntasks. This way you can repeatedly try calling gate close with a timeout\r\nset while safely waiting for all tasks to complete.\r\n\r\nThis is technically an observable change in that a previous call to close\r\nwhen still in \"closing\" would have returned an error but now waits for the\r\ncurrently running tasks instead. I can't imagine anyone actually relies\r\ntoo much on this.\r\n\r\n* Make the Gate::close synchronous returning future\r\n\r\nIt's useful if the pattern you want to do is to initiate a close and\r\nthen wait for it completing later. Otherwise you sometimes have to jump\r\nthrough hoops.","shortMessageHtmlLink":"Improve Gate::close to support repeated calls (#662)"}},{"before":"f2bdaa3fedd9c9b16628295094fe39640fff7ffe","after":"83d30239b2512f16e7d7782ac7b57673d42cf769","ref":"refs/heads/master","pushedAt":"2024-05-01T23:16:19.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"glommer","name":"Glauber Costa","path":"/glommer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/331197?s=80&v=4"},"commit":{"message":"WeakDmaFile fixups (#661)\n\nMissing from exports. Also missing were default and new constructor\r\nmethods as well as strong_count.","shortMessageHtmlLink":"WeakDmaFile fixups (#661)"}},{"before":"3d7f7f90176b288717e04f31fffc186f83636185","after":"f2bdaa3fedd9c9b16628295094fe39640fff7ffe","ref":"refs/heads/master","pushedAt":"2024-05-01T23:05:28.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"glommer","name":"Glauber Costa","path":"/glommer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/331197?s=80&v=4"},"commit":{"message":"Doc cleanup (#660)\n\n* Cleanup some confusing wording for timers.\r\n\r\n* Fix cargo doc warnings","shortMessageHtmlLink":"Doc cleanup (#660)"}},{"before":"562adb8a32b581ca4a8c2245a5691110e08bb6fc","after":"3d7f7f90176b288717e04f31fffc186f83636185","ref":"refs/heads/master","pushedAt":"2024-04-26T17:47:04.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"glommer","name":"Glauber Costa","path":"/glommer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/331197?s=80&v=4"},"commit":{"message":"net/tcp: Add poll_accept, poll_shared_accept and poll_shutdown (#533)\n\n* wip: add poll_accept and poll_shared_accept\r\n\r\n* add poll_shutdown\r\n\r\n* fixup: docs\r\n\r\n---------\r\n\r\nCo-authored-by: Glauber Costa ","shortMessageHtmlLink":"net/tcp: Add poll_accept, poll_shared_accept and poll_shutdown (#533)"}},{"before":"2418fa3ecdd9750ac4386556a20d53c3900229ac","after":"562adb8a32b581ca4a8c2245a5691110e08bb6fc","ref":"refs/heads/master","pushedAt":"2024-04-25T15:49:08.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"glommer","name":"Glauber Costa","path":"/glommer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/331197?s=80&v=4"},"commit":{"message":"fix clippy issues (#659)","shortMessageHtmlLink":"fix clippy issues (#659)"}},{"before":null,"after":"d64a2314d1cc0ad2621620ad5868696a9c62c1a8","ref":"refs/heads/glauber/clippy","pushedAt":"2024-04-25T14:24:24.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"glommer","name":"Glauber Costa","path":"/glommer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/331197?s=80&v=4"},"commit":{"message":"fix clippy issues","shortMessageHtmlLink":"fix clippy issues"}},{"before":"937b6102f2787d0330df798f378946424af49797","after":"2418fa3ecdd9750ac4386556a20d53c3900229ac","ref":"refs/heads/master","pushedAt":"2024-04-25T14:18:14.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"glommer","name":"Glauber Costa","path":"/glommer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/331197?s=80&v=4"},"commit":{"message":"Fix first sleep taking at least 30-50ms (#653)\n\nNoticed this problem in unit tests where the very first timer sleep\r\nwould take a very long time because the membarrier was being registered\r\nand tests have more than 1 thread.\r\n\r\nInitializing the membarrier strategy before the BlockingThreadPool is\r\nconstructed seems like a good idea because it tries to elide the\r\nregistration cost if we haven't created any other threads yet. Even if\r\nthere are threads, the cost is front-loaded eagerly so it's part of the\r\ncost of creating the executor rather than appearing as a random delay\r\ngoing to sleep on the io_uring the first time (assuming it could\r\notherwise wake before the 30-80ms cost observed).\r\n\r\nI believe the cost of registration got worse sometime after Linux 6.6\r\nbecause tests in my project that do something similar started regularly\r\ntaking >30ms after upgrading to 6.8 whereas before they were mostly\r\nsucceeding < 30ms (it was my grace window for how long a 10ms sleep\r\ncould take).\r\n\r\nWith this change we see that the very first timer now completes within\r\n11ms (I added a grace window of an extra ms in case of CI).\r\n\r\nCo-authored-by: Glauber Costa ","shortMessageHtmlLink":"Fix first sleep taking at least 30-50ms (#653)"}},{"before":"eea418d4bb7725470c68d6f7aa33f8b4105f1a4f","after":"937b6102f2787d0330df798f378946424af49797","ref":"refs/heads/master","pushedAt":"2024-04-25T13:51:08.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"glommer","name":"Glauber Costa","path":"/glommer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/331197?s=80&v=4"},"commit":{"message":"Merge common impls of `submit_one_event` into `submit_event_chain` (#551)\n\nCo-authored-by: Glauber Costa ","shortMessageHtmlLink":"Merge common impls of submit_one_event into submit_event_chain (#551"}},{"before":"85b115de47387804fa76ab1c514b31894d63d9b5","after":"eea418d4bb7725470c68d6f7aa33f8b4105f1a4f","ref":"refs/heads/master","pushedAt":"2024-04-25T13:16:08.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"glommer","name":"Glauber Costa","path":"/glommer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/331197?s=80&v=4"},"commit":{"message":"Implement a weak reference to a DmaFile (#658)","shortMessageHtmlLink":"Implement a weak reference to a DmaFile (#658)"}},{"before":"f93947746a909f54fae0b528be9ff8b2b8d6ae5e","after":"85b115de47387804fa76ab1c514b31894d63d9b5","ref":"refs/heads/master","pushedAt":"2024-04-24T19:50:25.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"glommer","name":"Glauber Costa","path":"/glommer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/331197?s=80&v=4"},"commit":{"message":"Allow a ReadResult to be converted to a DmaBuffer (#655)\n\nThis is a hack but it let's us write reads from files without creating\r\nan interim copy. The reason it's a hack is that it's weird to have a\r\nDmaBuffer, which represents a mutable view of data, be convertible from\r\na ReadResult - notice the panic in attempts to access it mutably.","shortMessageHtmlLink":"Allow a ReadResult to be converted to a DmaBuffer (#655)"}},{"before":"812fe6f799ed5e6ec1d5bd9bfb66e8ee2f051ff1","after":"f93947746a909f54fae0b528be9ff8b2b8d6ae5e","ref":"refs/heads/master","pushedAt":"2024-04-24T18:27:48.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"glommer","name":"Glauber Costa","path":"/glommer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/331197?s=80&v=4"},"commit":{"message":"Fix stat to use the fd instead of the path (#649)\n\n* chore(deps): Upgrade to flume 0.11\r\n\r\nHas a race condition fix for async APIs. Not sure if this actually\r\nimpacts us but sounds like a worthwhile upgrade.\r\n\r\n* Add failing test cases (#648)\r\n\r\nAttempting to stat on an unlinked file will error with NotFound when it\r\nshouldn't since we still have the fd. Similarly, invoking stat on a\r\ntempfile will stat the parent directory instead of the file itself.\r\n\r\n* Fix stat() behavior to use the fd instead of the path\r\n\r\nThis fixes the broken test cases - unlinked files will still stat\r\nsuccessfully and temporary files will return stat for the file rather\r\nthan the parent directory.\r\n\r\nThere's probably a negligible performance boost since we don't need to\r\ndo anything with the path (I believe it saves a memory allocation + some\r\nother cycles) + the kernel might have to do less work handling the\r\nsyscall. Of course, stat should never be in the hot path so it's largely\r\nan academic difference.","shortMessageHtmlLink":"Fix stat to use the fd instead of the path (#649)"}},{"before":"f920e804d6f4134ae17172b4e5653c5c2cf5ac71","after":"812fe6f799ed5e6ec1d5bd9bfb66e8ee2f051ff1","ref":"refs/heads/master","pushedAt":"2024-04-24T17:04:43.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"glommer","name":"Glauber Costa","path":"/glommer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/331197?s=80&v=4"},"commit":{"message":"Make DmaFile and OwnedDmaFile clonable (#657)\n\nThe current mechanism for sharing an FD with a background thread\r\nrequires `dup` which can limit how many references to a file can exist\r\nconcurrently in background threads. The use-case is a file server that\r\nresponds to requests by handing back an FD and a region to respond with\r\n- using `dup` limits how many concurrent requests can be referencing the\r\nfile at once due to kernel limits on simultaneous open FDs. However, by\r\nletting DmaFile be clonable, it lets us send the FD to any thread\r\nwithout risking race conditions about the FD closing while references\r\nexist.\r\n\r\nThis does have a new consequence that close requests may fail if clones\r\nexist, but this only impacts those who actually try to clone in the\r\nfirst place, so should have no impact on existing users.\r\n\r\nCo-authored-by: Glauber Costa ","shortMessageHtmlLink":"Make DmaFile and OwnedDmaFile clonable (#657)"}},{"before":"b13cca0ae76cc16c74b0e7e75c1aeed856b3b549","after":"f920e804d6f4134ae17172b4e5653c5c2cf5ac71","ref":"refs/heads/master","pushedAt":"2024-04-24T16:49:53.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"glommer","name":"Glauber Costa","path":"/glommer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/331197?s=80&v=4"},"commit":{"message":"fix: export publicly 'StallDetection' (#656)","shortMessageHtmlLink":"fix: export publicly 'StallDetection' (#656)"}},{"before":null,"after":"b13cca0ae76cc16c74b0e7e75c1aeed856b3b549","ref":"refs/heads/glauber/0.9","pushedAt":"2024-03-25T20:50:49.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"glommer","name":"Glauber Costa","path":"/glommer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/331197?s=80&v=4"},"commit":{"message":"bump version","shortMessageHtmlLink":"bump version"}},{"before":"3b868e9e2c73659c5de33611bb6f0bf78182b40c","after":"b13cca0ae76cc16c74b0e7e75c1aeed856b3b549","ref":"refs/heads/master","pushedAt":"2024-03-25T20:50:19.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"glommer","name":"Glauber Costa","path":"/glommer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/331197?s=80&v=4"},"commit":{"message":"bump version","shortMessageHtmlLink":"bump version"}},{"before":"b0e93f9eddd35dc481cad63e0ef9b38a58f724ac","after":"3b868e9e2c73659c5de33611bb6f0bf78182b40c","ref":"refs/heads/master","pushedAt":"2024-03-25T20:03:22.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"glommer","name":"Glauber Costa","path":"/glommer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/331197?s=80&v=4"},"commit":{"message":"chore: remove repetitive words (#645)\n\nSigned-off-by: goodmost ","shortMessageHtmlLink":"chore: remove repetitive words (#645)"}},{"before":"c8bd32e24075c5f49537294c8349dbb69dc50da6","after":"b0e93f9eddd35dc481cad63e0ef9b38a58f724ac","ref":"refs/heads/master","pushedAt":"2024-03-18T12:23:55.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"glommer","name":"Glauber Costa","path":"/glommer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/331197?s=80&v=4"},"commit":{"message":"Fix third-party vulnerability caused by atty v0.2.14 (#644)\n\n* Update Clap version to 4.6\r\n\r\nGithub detects third-party vulnerabilities seems to originate from the\r\nold version of clap.\r\n\r\n* fix fmt\r\n\r\n* Replace pretty-bytes with byte-unit","shortMessageHtmlLink":"Fix third-party vulnerability caused by atty v0.2.14 (#644)"}},{"before":"a14a8265875268f0ce324a6cdf90d481706c108e","after":"c8bd32e24075c5f49537294c8349dbb69dc50da6","ref":"refs/heads/master","pushedAt":"2024-02-28T10:20:32.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"glommer","name":"Glauber Costa","path":"/glommer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/331197?s=80&v=4"},"commit":{"message":"hyper-1.0 client-server example (#639)\n\n- Implement hyper's runtime traits for glommio\r\n- Update hyper server example for hyper 1.0\r\n- Add hyper client example for hyper 1.0","shortMessageHtmlLink":"hyper-1.0 client-server example (#639)"}},{"before":"8d936071a2200da6c75ac229e9e67795c423afb3","after":"a14a8265875268f0ce324a6cdf90d481706c108e","ref":"refs/heads/master","pushedAt":"2024-01-04T19:40:22.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"glommer","name":"Glauber Costa","path":"/glommer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/331197?s=80&v=4"},"commit":{"message":"chore(deps): upgrade to nix v0.27 (#630)\n\n* refactor: try to upgrade nix to v0.26 with replacing `SockAddr` with new `SockaddrStorage`\r\n\r\n* refactor: use `ìmpl SockaddrLike` instead of `SockAddr` in `GlommioDatagram::send_to`\r\n\r\n* chore(deps): upgrade to nix v0.27\r\n\r\n* refactor: cleanup nix work\r\n\r\n---------\r\n\r\nCo-authored-by: Glauber Costa ","shortMessageHtmlLink":"chore(deps): upgrade to nix v0.27 (#630)"}},{"before":"328b3b6274aec28d7d771e3273bd14b83d7e6ba2","after":"8d936071a2200da6c75ac229e9e67795c423afb3","ref":"refs/heads/master","pushedAt":"2024-01-02T14:24:10.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"glommer","name":"Glauber Costa","path":"/glommer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/331197?s=80&v=4"},"commit":{"message":"refactor: comply with clippy lints (#631)","shortMessageHtmlLink":"refactor: comply with clippy lints (#631)"}},{"before":"a315d9ca275db6726986c5d32f098b5b09b502d5","after":"328b3b6274aec28d7d771e3273bd14b83d7e6ba2","ref":"refs/heads/master","pushedAt":"2023-12-03T13:34:13.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"glommer","name":"Glauber Costa","path":"/glommer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/331197?s=80&v=4"},"commit":{"message":"Fix stall detector to be correct threshold (#628)\n\nThe final expected runtime, is supposed to be whatever we get\r\nfrom the `threshold` call.\r\n\r\nIf we add the `max_expected_time` again, it will be wrong.","shortMessageHtmlLink":"Fix stall detector to be correct threshold (#628)"}},{"before":"c6ca6f2b8ebb9da1b6a11a5697bc37801f82672c","after":"a315d9ca275db6726986c5d32f098b5b09b502d5","ref":"refs/heads/master","pushedAt":"2023-11-23T14:50:41.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"glommer","name":"Glauber Costa","path":"/glommer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/331197?s=80&v=4"},"commit":{"message":"Allow DmaFileStream to be polled multiple times (#611)\n\nCo-authored-by: Glauber Costa ","shortMessageHtmlLink":"Allow DmaFileStream to be polled multiple times (#611)"}},{"before":"dd38075d90b2917cec0a56e6b66e71c2cfa08f24","after":"c6ca6f2b8ebb9da1b6a11a5697bc37801f82672c","ref":"refs/heads/master","pushedAt":"2023-11-23T14:32:22.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"glommer","name":"Glauber Costa","path":"/glommer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/331197?s=80&v=4"},"commit":{"message":"fix test for file send\n\nThe test is broken because we can't really guarantee that the old fd\nwill fail to open. It is entirely possible that by now, some other test\n(remember tests are threaded) have opened a new file for itself that\nended up with the same fd as original_fd.\n\nThis test was always failing for me when I ran \"cargo test\" but always\nsucceeding if I ran the test in isolation, which confirms that this is\nthe likely cause.","shortMessageHtmlLink":"fix test for file send"}},{"before":"1f813122648228f497ce5b2273ee2da93215a571","after":"dd38075d90b2917cec0a56e6b66e71c2cfa08f24","ref":"refs/heads/master","pushedAt":"2023-11-23T14:24:50.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"glommer","name":"Glauber Costa","path":"/glommer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/331197?s=80&v=4"},"commit":{"message":"don't test for file size on resize_dma_buffer\n\nWe already test that the write is successful, and we already test that\nwe read what we write.\n\nIn my local machine on an ext4 filesystem, the file size never changes\nafter we write this. This is a metadata operation and the filesystem is\nfree to do this optimization AFAIR, which it likely does, especially\nsince this is a tmpfile that was not closed. We'd have to have a named\nfile and fsync() the directory to make sure the metadata always gets\nupdated, but I don't see the value in testing that.","shortMessageHtmlLink":"don't test for file size on resize_dma_buffer"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEagU2FAA","startCursor":null,"endCursor":null}},"title":"Activity · DataDog/glommio"}