{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":437011,"defaultBranch":"master","name":"zfs","ownerLogin":"openzfs","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2009-12-14T20:20:34.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/4510897?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1725491080.0","currentOid":""},"activityList":{"items":[{"before":"4bf6a2ab87c98efe1b010b403a991500d689112a","after":"01852ffbf86bc29c20eda2f3dcd0bd831dda641e","ref":"refs/heads/master","pushedAt":"2024-09-20T00:26:10.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"behlendorf","name":"Brian Behlendorf","path":"/behlendorf","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/148917?s=80&v=4"},"commit":{"message":"arc_hdr_authenticate: make explicit error\n\nOn compression we could be more explicit here for cases\nwhere we can not recompress the data.\n\nReviewed-by: Brian Behlendorf \nReviewed-by: Tony Hutter \nCo-authored-by: Alexander Motin \nSigned-off-by: George Melikov \nCloses #9416","shortMessageHtmlLink":"arc_hdr_authenticate: make explicit error"}},{"before":"e8ede2ba7807bdc1f6a52df42bd64c4376eef2df","after":"4bf6a2ab87c98efe1b010b403a991500d689112a","ref":"refs/heads/master","pushedAt":"2024-09-19T22:53:57.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"behlendorf","name":"Brian Behlendorf","path":"/behlendorf","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/148917?s=80&v=4"},"commit":{"message":"ZTS: use openssl for md5digest and sha256digest\n\nOn larger files this should improve the speed.\r\n\r\nSample values of my system:\r\n\r\n[mcmilk@xz]$ time dd if=/dev/zero bs=128k count=1k | sha256sum\r\n254bcc3fc4f27172636df4bf32de9f107f620d559b20d760197e452b97453917 -\r\nreal 0m1,050s\r\nuser 0m0,985s\r\nsys 0m0,153s\r\n\r\n[mcmilk@xz]$ time dd if=/dev/zero bs=128k count=1k | openssl sha256 -r\r\n254bcc3fc4f27172636df4bf32de9f107f620d559b20d760197e452b97453917 *stdin\r\nreal 0m0,254s\r\nuser 0m0,206s\r\nsys 0m0,160s\r\n\r\nI think cli_root/zdb/zdb_backup.ksh runs also an FreeBSD and I needed to\r\ninclude the sysutils/coreutils package for the FreeBSD tests within the\r\nQEMU patchset.\r\n\r\nThis could be reverted, when this pull request gets upstream\r\n\r\nReviewed-by: George Melikov \r\nReviewed-by: Brian Behlendorf \r\nSigned-off-by: Tino Reichardt \r\nCloses #16543","shortMessageHtmlLink":"ZTS: use openssl for md5digest and sha256digest"}},{"before":"b7e43d6e7f7172c843f3bc76d674823c7f2e19f3","after":"e8ede2ba7807bdc1f6a52df42bd64c4376eef2df","ref":"refs/heads/master","pushedAt":"2024-09-19T22:52:50.000Z","pushType":"push","commitsCount":6,"pusher":{"login":"behlendorf","name":"Brian Behlendorf","path":"/behlendorf","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/148917?s=80&v=4"},"commit":{"message":"zfs_debug: specific variant for userspace\n\nJust nice and simple, with room to grow.\n\nReviewed by: Brian Behlendorf \nReviewed-by: Alexander Motin \nSigned-off-by: Rob Norris \nSponsored-by: https://despairlabs.com/sponsor/\nCloses #16492","shortMessageHtmlLink":"zfs_debug: specific variant for userspace"}},{"before":"a877b396245eb40d8ccc4d0be6f3260e30a46053","after":"b7e43d6e7f7172c843f3bc76d674823c7f2e19f3","ref":"refs/heads/master","pushedAt":"2024-09-19T22:45:57.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"behlendorf","name":"Brian Behlendorf","path":"/behlendorf","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/148917?s=80&v=4"},"commit":{"message":"linux/abd_os: remove kernel version check for compound page support\n\nAll kernels we support have compound pages that work the way we would\nlike. However, this code is new and this knowledge was hard won, so I'd\nlike to leave the description and option there for a little while, even\nif it can only be disabled with a recompile.\n\nSponsored-by: https://despairlabs.com/sponsor/\nReviewed by: Brian Behlendorf \nReviewed-by: Alexander Motin \nReviewed-by: Tino Reichardt \nSigned-off-by: Rob Norris \nCloses #16545","shortMessageHtmlLink":"linux/abd_os: remove kernel version check for compound page support"}},{"before":"4d469acd17efdaf595bcf836244fcda032f49e33","after":"a877b396245eb40d8ccc4d0be6f3260e30a46053","ref":"refs/heads/master","pushedAt":"2024-09-19T22:19:57.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"behlendorf","name":"Brian Behlendorf","path":"/behlendorf","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/148917?s=80&v=4"},"commit":{"message":"cityhash: replace invocations with specialized versions when possible\n\nSo that we can get actual benefit from last commit.\n\nReviewed by: Brian Behlendorf \nReviewed-by: Alexander Motin \nReviewed-by: Tino Reichardt \nSigned-off-by: Shengqi Chen \nCloses #16131\nCloses #16483","shortMessageHtmlLink":"cityhash: replace invocations with specialized versions when possible"}},{"before":"ddf5f34f06b0356d5c27a70300758a3876cd9c2d","after":"4d469acd17efdaf595bcf836244fcda032f49e33","ref":"refs/heads/master","pushedAt":"2024-09-18T18:44:19.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"behlendorf","name":"Brian Behlendorf","path":"/behlendorf","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/148917?s=80&v=4"},"commit":{"message":"arcstat: add structural, types, states breakdown\n\nAdd ARC structural breakdown, ARC types breakdown, ARC states\r\nbreakdown similar to arc_summary. Additional cleanups included.\r\n\r\nReviewed-by: Alexander Motin \r\nSigned-off-by: Theera K. \r\nCloses #16509","shortMessageHtmlLink":"arcstat: add structural, types, states breakdown"}},{"before":"f245541e24a95c23887f201f1ffa8c2fa3114cbb","after":"ddf5f34f06b0356d5c27a70300758a3876cd9c2d","ref":"refs/heads/master","pushedAt":"2024-09-18T18:36:49.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"behlendorf","name":"Brian Behlendorf","path":"/behlendorf","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/148917?s=80&v=4"},"commit":{"message":"Avoid fault diagnosis if multiple vdevs have errors\n\nWhen multiple drives are throwing errors, it is likely not\r\na drive failing but rather a failure above the drives, like\r\na controller. The active cases context of the drive's peers\r\nis now considered when making a diagnosis.\r\n\r\nSponsored-by: Klara, Inc.\r\nSponsored-by: Wasabi Technology, Inc.\r\nReviewed by: Brian Behlendorf \r\nSigned-off-by: Don Brady \r\nCloses #16531","shortMessageHtmlLink":"Avoid fault diagnosis if multiple vdevs have errors"}},{"before":"7cdfda3934b4080fa0bbcb0d306ef946d8ed282f","after":"f245541e24a95c23887f201f1ffa8c2fa3114cbb","ref":"refs/heads/master","pushedAt":"2024-09-18T18:36:09.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"behlendorf","name":"Brian Behlendorf","path":"/behlendorf","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/148917?s=80&v=4"},"commit":{"message":"zfs_file: implement zfs_file_deallocate for FreeBSD 14\n\nFreeBSD 14 gained a `VOP_DEALLOCATE` VFS operation and a `fspacectl`\nsyscall to use it. At minimum, these zero the given region, and if the\nunderlying filesystem supports it, can make the region sparse. We can\nuse this to get TRIM-like behaviour for file vdevs.\n\nSponsored-by: https://despairlabs.com/sponsor/\nReviewed by: Brian Behlendorf \nReviewed-by: Alexander Motin \nReviewed-by: Tino Reichardt \nSigned-off-by: Rob Norris \nCloses #16496","shortMessageHtmlLink":"zfs_file: implement zfs_file_deallocate for FreeBSD 14"}},{"before":"29c9e6c3241f2508ad997e78eb82b00335822fcf","after":"7cdfda3934b4080fa0bbcb0d306ef946d8ed282f","ref":"refs/heads/master","pushedAt":"2024-09-18T18:27:46.000Z","pushType":"push","commitsCount":104,"pusher":{"login":"behlendorf","name":"Brian Behlendorf","path":"/behlendorf","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/148917?s=80&v=4"},"commit":{"message":"config: fix page_mapping test\n\nIt always failed from \"unused variable\" warnings-errors. The resulting\n`#define page_mapping(...)` happend to work because it always overrode\nthe kernel's function prototype, but that's brittle.\n\nSponsored-by: https://despairlabs.com/sponsor/\nReviewed-by: Brian Behlendorf \nReviewed-by: Tony Hutter \nReviewed-by: Tino Reichardt \nSigned-off-by: Rob Norris \nCloses #16479","shortMessageHtmlLink":"config: fix page_mapping test"}},{"before":"ec0209418fa613e0ee306daf91a9f7208aee6e10","after":"29c9e6c3241f2508ad997e78eb82b00335822fcf","ref":"refs/heads/master","pushedAt":"2024-09-17T20:56:26.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"behlendorf","name":"Brian Behlendorf","path":"/behlendorf","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/148917?s=80&v=4"},"commit":{"message":"Fix handling of DNS names with '-' in them for sharenfs\n\nAn old FreeBSD bugzilla report PR#168158 notes that DNS\r\nnames with '-'s in them cannot be used for the sharenfs\r\nproperty. This patch fixes the parsing of these DNS names.\r\nThe only negative affect this patch might have is that,\r\nif a user has incorrectly separated options with a '-'\r\nthe sharenfs setting will no longer work once this patch\r\nis applied.\r\n\r\nReviewed by: Brian Behlendorf \r\nReviewed-by: Alexander Motin \r\nSigned-off-by: Rick Macklem \r\nCloses #16529","shortMessageHtmlLink":"Fix handling of DNS names with '-' in them for sharenfs"}},{"before":"90af1e83e8abb89668b82d859940a596b195fe75","after":"ec0209418fa613e0ee306daf91a9f7208aee6e10","ref":"refs/heads/master","pushedAt":"2024-09-17T20:53:39.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"behlendorf","name":"Brian Behlendorf","path":"/behlendorf","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/148917?s=80&v=4"},"commit":{"message":"sa_impl: fix SA header bitfield docs\n\nOff by one, confused me a while!\r\n\r\nSponsored-by: Klara, Inc.\r\nSponsored-by: Wasabi Technology, Inc.\r\nReviewed by: Brian Behlendorf \r\nReviewed-by: Alexander Motin \r\nReviewed-by: Tino Reichardt \r\nSigned-off-by: Rob Norris \r\nCloses #16500","shortMessageHtmlLink":"sa_impl: fix SA header bitfield docs"}},{"before":"ac04407ffec555f2a3385d8e817d0c20870ce33c","after":"90af1e83e8abb89668b82d859940a596b195fe75","ref":"refs/heads/master","pushedAt":"2024-09-17T20:38:03.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"behlendorf","name":"Brian Behlendorf","path":"/behlendorf","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/148917?s=80&v=4"},"commit":{"message":"Linux 6.10 compat: Fix tracepoints definitions\n\n__string field definition includes the source variable for a value\r\nof the string when the TP hits; in 6.10+ kernels, __assign_str()\r\nuses that to copy a value from src to the string, with older\r\nkernels, __assign_str still accepted src as a second parameter.\r\n\r\nReviewed-by: Brian Behlendorf \r\nSigned-off-by: Pavel Snajdr \r\nCo-authored-by: Tony Hutter \r\nCloses #16475 \r\nCloses #16515","shortMessageHtmlLink":"Linux 6.10 compat: Fix tracepoints definitions"}},{"before":"bca9b64e7b5a84916282a7f2506fbbc135b4a381","after":"ac04407ffec555f2a3385d8e817d0c20870ce33c","ref":"refs/heads/master","pushedAt":"2024-09-17T20:15:42.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"behlendorf","name":"Brian Behlendorf","path":"/behlendorf","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/148917?s=80&v=4"},"commit":{"message":"Remove extra newline from spa_set_allocator().\n\nzfs_dbgmsg() does not need newline at the end of the message.\r\n\r\nWhile there, slightly update/sync FreeBSD __dprintf().\r\n\r\nReviewed by: Brian Behlendorf \r\nSigned-off-by:\tAlexander Motin \r\nSponsored by:\tiXsystems, Inc.\r\nCloses #16536","shortMessageHtmlLink":"Remove extra newline from spa_set_allocator()."}},{"before":"a10e552b9992673626f7a2ffcc234337f23410c9","after":"bca9b64e7b5a84916282a7f2506fbbc135b4a381","ref":"refs/heads/master","pushedAt":"2024-09-17T19:34:55.000Z","pushType":"push","commitsCount":4,"pusher":{"login":"behlendorf","name":"Brian Behlendorf","path":"/behlendorf","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/148917?s=80&v=4"},"commit":{"message":"ZTS: Use QEMU for tests on Linux and FreeBSD\n\nThis commit adds functional tests for these systems:\n- AlmaLinux 8, AlmaLinux 9, ArchLinux\n- CentOS Stream 9, Fedora 39, Fedora 40\n- Debian 11, Debian 12\n- FreeBSD 13, FreeBSD 14, FreeBSD 15\n- Ubuntu 20.04, Ubuntu 22.04, Ubuntu 24.04\n\n- enabled by default:\n - AlmaLinux 8, AlmaLinux 9\n - Debian 11, Debian 12\n - Fedora 39, Fedora 40\n - FreeBSD 13, FreeBSD 14\n\nWorkflow for each operating system:\n- install qemu on the github runner\n- download current cloud image of operating system\n- start and init that image via cloud-init\n- install dependencies and poweroff system\n- start system and build openzfs and then poweroff again\n- clone build system and start 2 instances of it\n- run functional testings and complete in around 3h\n- when tests are done, do some logfile preparing\n- show detailed results for each system\n- in the end, generate the job summary\n\nReal-world benefits from this PR:\n\n1. The github runner scripts are in the zfs repo itself. That means\n you can just open a PR against zfs, like \"Add Fedora 41 tester\", and\n see the results directly in the PR. ZFS admins no longer need\n manually to login to the buildbot server to update the buildbot config\n with new version of Fedora/Almalinux.\n\n2. Github runners allow you to run the entire test suite against your\n private branch before submitting a formal PR to openzfs. Just open a\n PR against your private zfs repo, and the exact same\n Fedora/Alma/FreeBSD runners will fire up and run ZTS. This can be\n useful if you want to iterate on a ZTS change before submitting a\n formal PR.\n\n3. buildbot is incredibly cumbersome. Our buildbot config files alone\n are ~1500 lines (not including any build/setup scripts)!\n It's a huge pain to setup.\n\n4. We're running the super ancient buildbot 0.8.12. It's so ancient\n it requires python2. We actually have to build python2 from source\n for almalinux9 just to get it to run. Ugrading to a more modern\n buildbot is a huge undertaking, and the UI on the newer versions is\n worse.\n\n5. Buildbot uses EC2 instances. EC2 is a pain because:\n * It costs money\n * They throttle IOPS and CPU usage, leading to mysterious,\n * hard-to-diagnose, failures and timeouts in ZTS.\n * EC2 is high maintenance. We have to setup security groups, SSH\n * keys, networking, users, etc, in AWS and it's a pain. We also\n * have to periodically go in an kill zombie EC2 instances that\n * buildbot is unable to kill off.\n\n6. Buildbot doesn't always handle failures well. One of the things we\n saw in the past was the FreeBSD builders would often die, and each\n builder death would take up a \"slot\" in buildbot. So we would\n periodically have to restart buildbot via a cron job to get the slots\n back.\n\n7. This PR divides up the ZTS test list into two parts, launches two\n VMs, and on each VM runs half the test suite. The test results are\n then merged and shown in the sumary page. So we're basically\n parallelizing ZTS on the same github runner. This leads to lower\n overall ZTS runtimes (2.5-3 hours vs 4+ hours on buildbot), and one\n unified set of results per runner, which is nice.\n\n8. Since the tests are running on a VM, we have much more control over\n what happens. We can capture the serial console output even if the\n test completely brings down the VM. In the future, we could also\n restart the test on the VM where it left off, so that if a single test\n panics the VM, we can just restart it and run the remaining ZTS tests\n (this functionaly is not yet implemented though, just an idea).\n\n9. Using the runners, users can manually kill or restart a test run\n via the github IU. That really isn't possible with buildbot unless\n you're an admin.\n\n10. Anecdotally, the tests seem to be more stable and constant under\n the QEMU runners.\n\nReviewed by: Brian Behlendorf \nSigned-off-by: Tino Reichardt \nSigned-off-by: Tony Hutter \nCloses #16537","shortMessageHtmlLink":"ZTS: Use QEMU for tests on Linux and FreeBSD"}},{"before":"1713aa7b4d209616fab96a68e17a6fec6837247c","after":"a10e552b9992673626f7a2ffcc234337f23410c9","ref":"refs/heads/master","pushedAt":"2024-09-14T20:47:59.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"behlendorf","name":"Brian Behlendorf","path":"/behlendorf","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/148917?s=80&v=4"},"commit":{"message":"Adding Direct IO Support\n\nAdding O_DIRECT support to ZFS to bypass the ARC for writes/reads.\r\n\r\nO_DIRECT support in ZFS will always ensure there is coherency between\r\nbuffered and O_DIRECT IO requests. This ensures that all IO requests,\r\nwhether buffered or direct, will see the same file contents at all\r\ntimes. Just as in other FS's , O_DIRECT does not imply O_SYNC. While\r\ndata is written directly to VDEV disks, metadata will not be synced\r\nuntil the associated TXG is synced.\r\nFor both O_DIRECT read and write request the offset and request sizes,\r\nat a minimum, must be PAGE_SIZE aligned. In the event they are not,\r\nthen EINVAL is returned unless the direct property is set to always (see\r\nbelow).\r\n\r\nFor O_DIRECT writes:\r\nThe request also must be block aligned (recordsize) or the write\r\nrequest will take the normal (buffered) write path. In the event that\r\nrequest is block aligned and a cached copy of the buffer in the ARC,\r\nthen it will be discarded from the ARC forcing all further reads to\r\nretrieve the data from disk.\r\n\r\nFor O_DIRECT reads:\r\nThe only alignment restrictions are PAGE_SIZE alignment. In the event\r\nthat the requested data is in buffered (in the ARC) it will just be\r\ncopied from the ARC into the user buffer.\r\n\r\nFor both O_DIRECT writes and reads the O_DIRECT flag will be ignored in\r\nthe event that file contents are mmap'ed. In this case, all requests\r\nthat are at least PAGE_SIZE aligned will just fall back to the buffered\r\npaths. If the request however is not PAGE_SIZE aligned, EINVAL will\r\nbe returned as always regardless if the file's contents are mmap'ed.\r\n\r\nSince O_DIRECT writes go through the normal ZIO pipeline, the\r\nfollowing operations are supported just as with normal buffered writes:\r\nChecksum\r\nCompression\r\nEncryption\r\nErasure Coding\r\nThere is one caveat for the data integrity of O_DIRECT writes that is\r\ndistinct for each of the OS's supported by ZFS.\r\nFreeBSD - FreeBSD is able to place user pages under write protection so\r\n any data in the user buffers and written directly down to the\r\n\t VDEV disks is guaranteed to not change. There is no concern\r\n\t with data integrity and O_DIRECT writes.\r\nLinux - Linux is not able to place anonymous user pages under write\r\n protection. Because of this, if the user decides to manipulate\r\n\tthe page contents while the write operation is occurring, data\r\n\tintegrity can not be guaranteed. However, there is a module\r\n\tparameter `zfs_vdev_direct_write_verify` that controls the\r\n\tif a O_DIRECT writes that can occur to a top-level VDEV before\r\n\ta checksum verify is run before the contents of the I/O buffer\r\n are committed to disk. In the event of a checksum verification\r\n\tfailure the write will return EIO. The number of O_DIRECT write\r\n\tchecksum verification errors can be observed by doing\r\n\t`zpool status -d`, which will list all verification errors that\r\n\thave occurred on a top-level VDEV. Along with `zpool status`, a\r\n\tZED event will be issues as `dio_verify` when a checksum\r\n\tverification error occurs.\r\n\r\nZVOLs and dedup is not currently supported with Direct I/O.\r\n\r\nA new dataset property `direct` has been added with the following 3\r\nallowable values:\r\ndisabled - Accepts O_DIRECT flag, but silently ignores it and treats\r\n\t the request as a buffered IO request.\r\nstandard - Follows the alignment restrictions outlined above for\r\n\t write/read IO requests when the O_DIRECT flag is used.\r\nalways - Treats every write/read IO request as though it passed\r\n O_DIRECT and will do O_DIRECT if the alignment restrictions\r\n\t are met otherwise will redirect through the ARC. This\r\n\t property will not allow a request to fail.\r\n\r\nThere is also a module parameter zfs_dio_enabled that can be used to\r\nforce all reads and writes through the ARC. By setting this module\r\nparameter to 0, it mimics as if the direct dataset property is set to\r\ndisabled.\r\n\r\nReviewed-by: Brian Behlendorf \r\nReviewed-by: Alexander Motin \r\nReviewed-by: Tony Hutter \r\nSigned-off-by: Brian Atkinson \r\nCo-authored-by: Mark Maybee \r\nCo-authored-by: Matt Macy \r\nCo-authored-by: Brian Behlendorf \r\nCloses #10018","shortMessageHtmlLink":"Adding Direct IO Support"}},{"before":"308f7c2f14deaa49b7b0d223564f48ccb6f5937b","after":"1713aa7b4d209616fab96a68e17a6fec6837247c","ref":"refs/heads/master","pushedAt":"2024-09-10T19:46:50.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"tonyhutter","name":"Tony Hutter","path":"/tonyhutter","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11469457?s=80&v=4"},"commit":{"message":"Remove set but not used variable in ddt.c (#16522)\n\nmodule/zfs/ddt.c:2612:6: error: variable 'total' set but not used\r\n\r\nSigned-off-by: Tino Reichardt \r\nReviewed-by: Alexander Motin \r\nReviewed-by: Tony Hutter ","shortMessageHtmlLink":"Remove set but not used variable in ddt.c (#16522)"}},{"before":"63253dbf4f8611a657474fd2e065f960374bbc35","after":"308f7c2f14deaa49b7b0d223564f48ccb6f5937b","ref":"refs/heads/master","pushedAt":"2024-09-10T16:08:45.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"tonyhutter","name":"Tony Hutter","path":"/tonyhutter","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11469457?s=80&v=4"},"commit":{"message":"Fix an uninitialized data access (#16511)\n\nzfs_acl_node_alloc allocates an uninitialized data buffer, but upstack\r\nzfs_acl_chmod only partially initializes it. KMSAN reported that this\r\nmemory remained uninitialized at the point when it was read by\r\nlzjb_compress, which suggests a possible kernel memory disclosure bug.\r\n\r\nThe full KMSAN warning may be found in the PR.\r\nhttps://github.com/openzfs/zfs/pull/16511\r\n\r\nSigned-off-by:\tAlan Somers \r\nSponsored by:\tAxcient\r\nReviewed-by: Alexander Motin \r\nReviewed-by: Tony Hutter ","shortMessageHtmlLink":"Fix an uninitialized data access (#16511)"}},{"before":"88433e640ddbf390bcbed5ff79478f7ac985f161","after":"63253dbf4f8611a657474fd2e065f960374bbc35","ref":"refs/heads/master","pushedAt":"2024-09-10T00:49:15.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"tonyhutter","name":"Tony Hutter","path":"/tonyhutter","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11469457?s=80&v=4"},"commit":{"message":"zts-report: don't crash on non-UTF-8 chars in the log (#16497)\n\nThe report generator expects the log to be clean and tidy UTF-8. That\r\ncan be a problem if you use some of the verbose/debug test runner\r\noptions, which sends all sorts of weird output from arbitrary programs\r\nto the log.\r\n\r\nThis just makes Python a little more relaxed about such things. It\r\nshouldn't matter in practice, as those lines didn't match the test\r\nresult regex anyway, and are discarded immediately.\r\n\r\n\r\nSponsored-by: https://despairlabs.com/sponsor/\r\n\r\nSigned-off-by: Rob Norris \r\nReviewed-by: Alexander Motin \r\nReviewed-by: Tony Hutter ","shortMessageHtmlLink":"zts-report: don't crash on non-UTF-8 chars in the log (#16497)"}},{"before":"8be2f4c3d2c43b031fd568240beebae1b0bc7423","after":"88433e640ddbf390bcbed5ff79478f7ac985f161","ref":"refs/heads/master","pushedAt":"2024-09-10T00:37:12.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"tonyhutter","name":"Tony Hutter","path":"/tonyhutter","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11469457?s=80&v=4"},"commit":{"message":"sys/types32.h: Remove struct timeval32 from libspl's header (#16491)\n\nmacOS Sequoia's sys/sockio.h, as included by various bootstrap tools\r\nwhilst building FreeBSD, has started to include net/if.h, which then\r\nincludes sys/_types/_timeval32.h and provide a conflicting definition\r\nfor struct timeval32. Since this type is entirely unused within OpenZFS,\r\nsimply delete the type rather than adding in some kind of OS detection.\r\n\r\nThis fixes building FreeBSD on macOS Sequoia (Beta).\r\n\r\nSigned-off-by: Jessica Clarke \r\nReviewed-by: Rob Norris \r\nReviewed-by: Alexander Motin \r\nReviewed-by: Tony Hutter ","shortMessageHtmlLink":"sys/types32.h: Remove struct timeval32 from libspl's header (#16491)"}},{"before":"5c67820265c18e82c2d79c77ab09fc46904b58b8","after":"8be2f4c3d2c43b031fd568240beebae1b0bc7423","ref":"refs/heads/master","pushedAt":"2024-09-10T00:21:20.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"tonyhutter","name":"Tony Hutter","path":"/tonyhutter","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11469457?s=80&v=4"},"commit":{"message":"zio_resume: log when unsuspending the pool (#16485)\n\nWhen reviewing logs after a failure, its useful to see where\r\nunsuspend/resume was requested.\r\n\r\n\r\nSponsored-by: Klara, Inc.\r\nSponsored-by: Wasabi Technology, Inc.\r\n\r\nSigned-off-by: Rob Norris \r\nReviewed-by: Alexander Motin \r\nReviewed-by: Tony Hutter ","shortMessageHtmlLink":"zio_resume: log when unsuspending the pool (#16485)"}},{"before":"b109925820fb79db3e37670c159977f03edd950f","after":"5c67820265c18e82c2d79c77ab09fc46904b58b8","ref":"refs/heads/master","pushedAt":"2024-09-09T21:13:27.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"behlendorf","name":"Brian Behlendorf","path":"/behlendorf","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/148917?s=80&v=4"},"commit":{"message":"libzstd: also build with LIBZPOOL_CPPFLAGS\n\nlibzstd now also allocates its own abd_t, and so has the same issue as\r\nzstream did, so this applies the same workaround: compile it with\r\nZFS_DEBUG. See 92fca1c2d.\r\n\r\nThis looks weird, because libzstd doesn't appear to look related to the\r\nZFS kernel, but there is already a cross-dependency there: zstd needs\r\nzfs_lz4_compress, and zfs needs zfs_zstd_compress (and others), so the\r\ntwo can never really be separated without more work. Another job for\r\nanother time.\r\n\r\nSponsored-by: Klara, Inc.\r\nSponsored-by: Wasabi Technology, Inc.\r\nReviewed by: Brian Behlendorf \r\nReviewed-by: Mark Maybee \r\nSigned-off-by: Rob Norris \r\nCloses #16489","shortMessageHtmlLink":"libzstd: also build with LIBZPOOL_CPPFLAGS"}},{"before":"17dd66dedab9f9bebc823cca3eae3405ef28c7ef","after":"b109925820fb79db3e37670c159977f03edd950f","ref":"refs/heads/master","pushedAt":"2024-09-06T15:45:59.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"behlendorf","name":"Brian Behlendorf","path":"/behlendorf","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/148917?s=80&v=4"},"commit":{"message":"spa_prop_get: require caller to supply output nvlist\n\nAll callers to spa_prop_get() and spa_prop_get_nvlist() supplied their\r\nown preallocated nvlist (except ztest), so we can remove the option to\r\nhave them allocate one if none is supplied.\r\n\r\nThis sidesteps a bug in spa_prop_get(), where the error var wasn't\r\ninitialised, which could lead to the provided nvlist being freed at the\r\nend.\r\n\r\nSponsored-by: Klara, Inc.\r\nSponsored-by: Wasabi Technology, Inc.\r\nReviewed-by: Jorgen Lundman \r\nReviewed-by: Brian Behlendorf \r\nReviewed-by: Alexander Motin \r\nSigned-off-by: Rob Norris \r\nCloses #16505","shortMessageHtmlLink":"spa_prop_get: require caller to supply output nvlist"}},{"before":"d4d79451cb87aa0d93f9068ce5844098a5ebe3b5","after":"17dd66dedab9f9bebc823cca3eae3405ef28c7ef","ref":"refs/heads/master","pushedAt":"2024-09-05T20:41:51.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"tonyhutter","name":"Tony Hutter","path":"/tonyhutter","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11469457?s=80&v=4"},"commit":{"message":"zpool events: expand value strings for ZIO error values\n\nSponsored-by: Klara, Inc.\nSponsored-by: Wasabi Technology, Inc.\nSigned-off-by: Rob Norris ","shortMessageHtmlLink":"zpool events: expand value strings for ZIO error values"}},{"before":null,"after":"baa50314567afd986a00838f0fa65fdacbd12daf","ref":"refs/heads/zfs-2.2.7-staging","pushedAt":"2024-09-04T23:04:40.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"tonyhutter","name":"Tony Hutter","path":"/tonyhutter","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11469457?s=80&v=4"},"commit":{"message":"Tag zfs-2.2.6\n\nMETA file and changelog updated.\n\nSigned-off-by: Tony Hutter ","shortMessageHtmlLink":"Tag zfs-2.2.6"}},{"before":"bf8c61f489e07ddcfed246768059b37808b7f6e5","after":"d4d79451cb87aa0d93f9068ce5844098a5ebe3b5","ref":"refs/heads/master","pushedAt":"2024-09-04T21:33:11.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"behlendorf","name":"Brian Behlendorf","path":"/behlendorf","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/148917?s=80&v=4"},"commit":{"message":"Add DDT prune command\n\nRequires the new 'flat' physical data which has the start\ntime for a class entry.\n\nThe amount to prune can be based on a target percentage of\nthe unique entries or based on the age (i.e., every entry\nolder than N days).\n\nSponsored-by: Klara, Inc.\nSponsored-by: iXsystems, Inc.\nReviewed-by: Alexander Motin \nReviewed-by: Brian Behlendorf \nSigned-off-by: Don Brady \nCloses #16277","shortMessageHtmlLink":"Add DDT prune command"}},{"before":"33174af15112ed5c53299da2d28e763b0163f428","after":"baa50314567afd986a00838f0fa65fdacbd12daf","ref":"refs/heads/zfs-2.2-release","pushedAt":"2024-09-04T20:32:30.000Z","pushType":"push","commitsCount":28,"pusher":{"login":"tonyhutter","name":"Tony Hutter","path":"/tonyhutter","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11469457?s=80&v=4"},"commit":{"message":"Tag zfs-2.2.6\n\nMETA file and changelog updated.\n\nSigned-off-by: Tony Hutter ","shortMessageHtmlLink":"Tag zfs-2.2.6"}},{"before":"b3b7491615308d80e363854e977387f633ad9327","after":"bf8c61f489e07ddcfed246768059b37808b7f6e5","ref":"refs/heads/master","pushedAt":"2024-09-04T00:52:33.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"behlendorf","name":"Brian Behlendorf","path":"/behlendorf","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/148917?s=80&v=4"},"commit":{"message":"Remove unused sysctl node\n\nPR #14953 removed vdev-level read cache but accidentally left this\r\nsysctl node behind.\r\n\r\nReviewed-by: Rich Ercolani \r\nReviewed-by: Brian Behlendorf \r\nReviewed-by: Alexander Motin \r\nSigned-off-by: Seth Hoffert \r\nCloses #16493","shortMessageHtmlLink":"Remove unused sysctl node"}},{"before":"50b32cb925f20ececeff1b500811fa349fb419ba","after":"b3b7491615308d80e363854e977387f633ad9327","ref":"refs/heads/master","pushedAt":"2024-08-27T19:53:54.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"behlendorf","name":"Brian Behlendorf","path":"/behlendorf","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/148917?s=80&v=4"},"commit":{"message":"build: rename FORCEDEBUG_CPPFLAGS to LIBZPOOL_CPPFLAGS\n\nThis is just a very small attempt to make it more obvious that these\nflags aren't optional for libzpool-using programs, by not making it seem\nlike there's an option to say \"well, I don't _want_ to force debugging\".\n\nSponsored-by: Klara, Inc.\nSponsored-by: Wasabi Technology, Inc.\nReviewed-by: Allan Jude \nReviewed-by: Rich Ercolani \nReviewed-by: Brian Behlendorf \nSigned-off-by: Rob Norris \nIssue #16476\nCloses #16477","shortMessageHtmlLink":"build: rename FORCEDEBUG_CPPFLAGS to LIBZPOOL_CPPFLAGS"}},{"before":"73866cf3468f59e89baba31b93d8fdf503b10b19","after":"50b32cb925f20ececeff1b500811fa349fb419ba","ref":"refs/heads/master","pushedAt":"2024-08-27T00:39:13.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"behlendorf","name":"Brian Behlendorf","path":"/behlendorf","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/148917?s=80&v=4"},"commit":{"message":"fm: pass io_flags through events & zed as uint64_t\n\nIn 4938d01db (#14086) zio_flag_t was converted from an enum (generally\r\nsigned 32-bit) to a uint64_t. The corresponding change wasn't made to\r\nthe error reporting subsystem, limiting the error flags being delivered\r\nto zed to 32 bits. This bumps the whole pipeline to use uint64s.\r\n\r\nA tiny bit of compatibility is added for newer zed working agsinst an\r\nolder kernel module, because its easy to do and misdetecting\r\nscrub/resilver errors and taking action is potentially dangerous. Making\r\nit work for new kernel modules against older zed seems to be far more\r\ninvasive for far less benefit, so I have not.\r\n\r\nSponsored-by: Klara, Inc.\r\nSponsored-by: Wasabi Technology, Inc.\r\nReviewed-by: Alexander Motin \r\nReviewed-by: Brian Behlendorf \r\nSigned-off-by: Rob Norris \r\nCloses #16469","shortMessageHtmlLink":"fm: pass io_flags through events & zed as uint64_t"}},{"before":"6be8bf5552b16475629a15ab62759eb7a6d73e3b","after":"73866cf3468f59e89baba31b93d8fdf503b10b19","ref":"refs/heads/master","pushedAt":"2024-08-27T00:36:49.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"behlendorf","name":"Brian Behlendorf","path":"/behlendorf","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/148917?s=80&v=4"},"commit":{"message":"Fix issig() to check signal_pending after dequeue SIGSTOP/SIGTSTP\n\nWhen process got SIGSTOP/SIGTSTP, issig() dequeue them and return 0.\r\nBut process could still have another signal pending after dequeue. So,\r\nafter dequeue, check and return 1, if signal_pending.\r\n\r\nReviewed-by: Brian Behlendorf \r\nSigned-off-by: Jitendra Patidar \r\nCloses #16464","shortMessageHtmlLink":"Fix issig() to check signal_pending after dequeue SIGSTOP/SIGTSTP"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEu23CeAA","startCursor":null,"endCursor":null}},"title":"Activity ยท openzfs/zfs"}