{"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:1714690604.0","currentOid":""},"activityList":{"items":[{"before":"4de260efe3375fe62b9d80452b9203c89ab0c045","after":"20c8bdd85ef4716d5e59d9f6f61347c0e4566750","ref":"refs/heads/master","pushedAt":"2024-06-07T01:11:00.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":"FreeBSD: Update use of UMA-related symbols in arc_available_memory\n\nRecent UMA changes repurposed the use of UMA_MD_SMALL_ALLOC in a way\r\nthat breaks arc_available_memory on -CURRENT. This change\r\nensures that arc_available_memory uses the new symbol\r\nwhile maintaining compatibility with older FreeBSD releases.\r\n \r\nReviewed-by: Brian Behlendorf \r\nSigned-off-by: Bojan Novković \r\nCloses #16230","shortMessageHtmlLink":"FreeBSD: Update use of UMA-related symbols in arc_available_memory"}},{"before":"b558f0a9d65c3bdb8310504184a82e9802551168","after":"4de260efe3375fe62b9d80452b9203c89ab0c045","ref":"refs/heads/master","pushedAt":"2024-06-07T00:37: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":"contrib/bash_completion.d: squelch FreeBSD seq when first < last\n\nWith seq x -1 z and x is less than z FreeBSD seq will print the error:\r\n\r\n\t$ seq 1 -1 2\r\n\tseq: needs positive increment\r\n\r\nHide this error. Alternatively $COMP_CWORD could be checked for < 2.\r\n\r\nReviewed-by: Brian Behlendorf \r\nSigned-off-by: Derek Schrock \r\nCloses #16234","shortMessageHtmlLink":"contrib/bash_completion.d: squelch FreeBSD seq when first < last"}},{"before":"23a489a41167890cdd227366a5f950170df8cc9b","after":"b558f0a9d65c3bdb8310504184a82e9802551168","ref":"refs/heads/master","pushedAt":"2024-06-07T00:01: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":"zdb: fix FreeBSD build failure \n\nThis fixes FreeBSD build failure with clang-18 after 23a489a got merged.\r\n\r\nReviewed-by: Alexander Motin \r\nReviewed-by: Rob Norris \r\nReviewed-by: Brian Behlendorf \r\nSigned-off-by: Ameer Hamza \r\nCloses #16252","shortMessageHtmlLink":"zdb: fix FreeBSD build failure"}},{"before":"a72751a34265492efc115bb6a773e961bb9be82d","after":"23a489a41167890cdd227366a5f950170df8cc9b","ref":"refs/heads/master","pushedAt":"2024-06-03T23:28:44.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":"zdb: detect cachefile automatically otherwise force import\n\nIf a pool is created with the cache file located in a non-default \r\npath /etc/default/zpool.cache, removed, or the cachefile property \r\nis set to none, zdb fails to show the pool unless we specify the \r\ncache file or use the -e option. This PR automates this process.\r\n\r\nReviewed-by: Brian Behlendorf \r\nReviewed-by: Alexander Motin \r\nReviewed-by: Akash B \r\nSigned-off-by: Ameer Hamza \r\nCloses #16071","shortMessageHtmlLink":"zdb: detect cachefile automatically otherwise force import"}},{"before":"a301dc364c336bee58950f88e040f825df840b60","after":"a72751a34265492efc115bb6a773e961bb9be82d","ref":"refs/heads/master","pushedAt":"2024-05-31T22:25:37.000Z","pushType":"push","commitsCount":10,"pusher":{"login":"behlendorf","name":"Brian Behlendorf","path":"/behlendorf","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/148917?s=80&v=4"},"commit":{"message":"icp: remove redundant FreeBSD check\n\nWe don't build illumos-crypto for FreeBSD.\n\nSponsored-by: Klara, Inc.\nSponsored-by: Wasabi Technology, Inc.\nReviewed-by: Brian Behlendorf \nSigned-off-by: Rob Norris \nCloses #16209","shortMessageHtmlLink":"icp: remove redundant FreeBSD check"}},{"before":"e2357561b9499296bff758afe4868dbc39735675","after":"a301dc364c336bee58950f88e040f825df840b60","ref":"refs/heads/master","pushedAt":"2024-05-31T22:11:00.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: Fix redacted_send failures on FreeBSD\n\nWe're seeing failures for redacted_deleted and redacted_mount\r\non FreeBSD 13-15:\r\n\r\n 09:58:34.74 diff: /dev/fd/3: No such file or directory\r\n 09:58:34.74 ERROR: diff /dev/fd/3 /dev/fd/4 exited 2\r\n\r\nThe test was trying to diff the file listings between two directories to\r\nsee if they are the same. The workaround is to do a string comparison\r\nof the directory listings instead of using `diff`.\r\n\r\nReviewed-by: Brian Behlendorf \r\nSigned-off-by: Tony Hutter \r\nCloses #16224","shortMessageHtmlLink":"ZTS: Fix redacted_send failures on FreeBSD"}},{"before":"5137c132a5e82b2e799ad3ee5d82fb32b500e5a4","after":"e2357561b9499296bff758afe4868dbc39735675","ref":"refs/heads/master","pushedAt":"2024-05-30T16:58:20.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":"FreeBSD: Add const qualifier to members of struct opensolaris_utsname\n\nThese members have directly references to the global variables\r\nexposed by the kernel. They are not going to be changed by this\r\nkernel module.\r\n\r\nReviewed-by: Brian Behlendorf \r\nSigned-off-by: Zhenlei Huang \r\nCloses #16210","shortMessageHtmlLink":"FreeBSD: Add const qualifier to members of struct opensolaris_utsname"}},{"before":"4c0fbd8d6d1565ba2dd3d403a2bb42e2b6c64ec0","after":"2eab4f7b396a1abb9adf7cab82d6ff47f9d78e9b","ref":"refs/heads/zfs-2.2.5-staging","pushedAt":"2024-05-29T20:35:14.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 assertion in Persistent L2ARC\n\nAt the end of l2arc_evict() fix an assertion in the case that l2ad_hand\r\n+ distance == l2ad_end.\r\n\r\nReviewed-by: Brian Behlendorf \r\nSigned-off-by: George Amanakis \r\nCloses #16202\r\nCloses #16207","shortMessageHtmlLink":"Fix assertion in Persistent L2ARC"}},{"before":"ae22044da998e27497c3ad6724a0c64c89cfd87f","after":"5137c132a5e82b2e799ad3ee5d82fb32b500e5a4","ref":"refs/heads/master","pushedAt":"2024-05-29T20:34: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":"zpool import output is not formated properly.\n\nThe 'zpool status' output assumes that the longest prefix is six\r\ncharacter long plus colon plus space, eg. 'status: ', 'action: '\r\nor 'config: ' (so eight in total). This works well even when we have\r\nmessages that requires more than one line, as '\\t' is exactly eight\r\ncharacters, just like the longest prefix.\r\n\r\nThe 'zpool import' output is a bit different, as it may display the\r\ncomment pool property, then the longest prefix is 'comment: ', which is\r\nnine characters long, not eight.\r\nAll the prefixes were given an extra space in front, but:\r\n- 'status: ' did not get an extra space.\r\n- Messages that require more than one line should use nine spaces of\r\n indentation, not eight.\r\n- The extra space in front looks redundant if there is no comment\r\n property set on the given pool.\r\n\r\nFix it by adding an extra space to all prefixes, but only if the comment\r\nproperty is defined. Also, when we need to continue the message in a new\r\nline, use '\\t ' for indentation.\r\n\r\nWhile here, apply small corrections to a couple messages.\r\n\r\nBefore:\r\n\r\n pool: tank\r\n id: 7412636063178848859\r\n state: ONLINE\r\nstatus: Some supported features are not enabled on the pool.\r\n\t(Note that they may be intentionally disabled if the\r\n\t'compatibility' property is set.)\r\n action: The pool can be imported using its name or numeric identif[...]\r\n\tsome features will not be available without an explicit 'zp[...]\r\ncomment: Example comment.\r\n config:\r\n\r\n\tbclone ONLINE\r\n\t ada0 ONLINE\r\n\r\nAfter:\r\n\r\n pool: tank\r\n id: 10180960571062436759\r\n state: ONLINE\r\nstatus: Some supported features are not enabled on the pool.\r\n\t(Note that they may be intentionally disabled if the\r\n\t'compatibility' property is set.)\r\naction: The pool can be imported using its name or numeric identifi[...]\r\n\tsome features will not be available without an explicit 'zp[...]\r\nconfig:\r\n\r\n\ttank ONLINE\r\n\t ada3 ONLINE\r\n\r\n pool: dozer\r\n id: 11028319538368222579\r\n state: ONLINE\r\n status: Some supported features are not enabled on the pool.\r\n\t (Note that they may be intentionally disabled if the\r\n\t 'compatibility' property is set.)\r\n action: The pool can be imported using its name or numeric identif[...]\r\n\t some features will not be available without an explicit 'z[...]\r\ncomment: Example comment.\r\n config:\r\n\r\n\tdozer ONLINE\r\n\t ada1 ONLINE\r\n\r\nReviewed-by: Tony Hutter \r\nReviewed-by: Brian Behlendorf \r\nSigned-off-by: Pawel Dawidek \r\nCloses #16128","shortMessageHtmlLink":"zpool import output is not formated properly."}},{"before":"01c8efdd59b540eb6ea21e339d2dbd0283095130","after":"ae22044da998e27497c3ad6724a0c64c89cfd87f","ref":"refs/heads/master","pushedAt":"2024-05-29T17:51:01.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":"spl: fix compilation without HAVE_BACKTRACE\n\nThe __maybe_unused macro is defined in spl/sys/debug.h\r\n\r\nReviewed-by: Brian Behlendorf \r\nSigned-off-by: Martin Matuska \r\nCloses #16229","shortMessageHtmlLink":"spl: fix compilation without HAVE_BACKTRACE"}},{"before":"6b95031f5642f54bab063da84dd4009df2bc0b5e","after":"01c8efdd59b540eb6ea21e339d2dbd0283095130","ref":"refs/heads/master","pushedAt":"2024-05-29T17:49:12.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":"Simplify issig().\n\nWe always call it twice with JUSTLOOKING and then FORREAL.\r\n\r\nReviewed-by: Brian Behlendorf \r\nSigned-off-by: Pawel Jakub Dawidek \r\nCloses #16225","shortMessageHtmlLink":"Simplify issig()."}},{"before":"800d59d5771806459a23f10f3c9ee8f2d178b9ed","after":"6b95031f5642f54bab063da84dd4009df2bc0b5e","ref":"refs/heads/master","pushedAt":"2024-05-29T17:46: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":"zed: Add deadman-slot_off.sh zedlet\n\nOptionally turn off disk's enclosure slot if an I/O is hung\r\ntriggering the deadman.\r\n\r\nIt's possible for outstanding I/O to a misbehaving SCSI disk to\r\nneither promptly complete or return an error. This can occur due\r\nto retry and recovery actions taken by the SCSI layer, driver, or\r\ndisk. When it occurs the pool will be unresponsive even though\r\nthere may be sufficient redundancy configured to proceeded without\r\nthis single disk.\r\n\r\nWhen a hung I/O is detected by the kmods it will be posted as a\r\ndeadman event. By default an I/O is considered to be hung after\r\n5 minutes. This value can be changed with the zfs_deadman_ziotime_ms\r\nmodule parameter. If ZED_POWER_OFF_ENCLOSURE_SLOT_ON_DEADMAN is set\r\nthe disk's enclosure slot will be powered off causing the outstanding\r\nI/O to fail. The ZED will then handle this like a normal disk failure.\r\nBy default ZED_POWER_OFF_ENCLOSURE_SLOT_ON_DEADMAN is not set.\r\n\r\nAs part of this change `zfs_deadman_events_per_second` is added\r\nto control the ratelimitting of deadman events independantly of\r\ndelay events. In practice, a single deadman event is sufficient\r\nand more aren't particularly useful.\r\n\r\nAlphabetize the zfs_deadman_* entries in zfs.4.\r\n\r\nReviewed-by: Tony Hutter \r\nSigned-off-by: Brian Behlendorf \r\nCloses #16226","shortMessageHtmlLink":"zed: Add deadman-slot_off.sh zedlet"}},{"before":"9edf6af4aed14948925588eb4d2171d229c9713a","after":"4c0fbd8d6d1565ba2dd3d403a2bb42e2b6c64ec0","ref":"refs/heads/zfs-2.2.5-staging","pushedAt":"2024-05-29T15:54:19.000Z","pushType":"pr_merge","commitsCount":8,"pusher":{"login":"behlendorf","name":"Brian Behlendorf","path":"/behlendorf","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/148917?s=80&v=4"},"commit":{"message":"FreeBSD: Add zfs_link_create() error handling\n\nOriginally Solaris didn't expect errors there, but they may happen\r\nif we fail to add entry into ZAP. Linux fixed it in #7421, but it\r\nwas never fully ported to FreeBSD.\r\n\r\nReviewed-by: Brian Behlendorf \r\nSigned-off-by: Alexander Motin \r\nSponsored-By: iXsystems, Inc.\r\nCloses #13215\r\nCloses #16138","shortMessageHtmlLink":"FreeBSD: Add zfs_link_create() error handling"}},{"before":"02c5aa9b092818785ed8db4e2246a828278138e3","after":"800d59d5771806459a23f10f3c9ee8f2d178b9ed","ref":"refs/heads/master","pushedAt":"2024-05-29T15:53:31.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":"Some improvements to metaslabs eviction\n\n- Add old eviction for special and dedup metaslab classes. Those\r\nvdevs may be potentially big and fragmented with large metaslabs,\r\nwhile their asynchronous write pattern is not really different\r\nfrom normal class. It seems an omission to not evict old metaslabs\r\nfrom them.\r\n - If we have metaslab preload enabled, which means we are not too\r\nlow on memory, do not evict active metaslabs even if they are not\r\nused for some time. Eviction of active metaslabs means we won't\r\nbe able to write anything until we load them, that may take some\r\ntime, that is straight opposite to metaslab preload goals. For\r\nsmall systems the memory saving should be less important after\r\nrecent reduction in number of allocators and so open metaslabs.\r\n\r\nReviewed-by: Brian Behlendorf \r\nSigned-off-by:\tAlexander Motin \r\nSponsored by:\tiXsystems, Inc.\r\nCloses #16214","shortMessageHtmlLink":"Some improvements to metaslabs eviction"}},{"before":"8865dfbcaad44a1056f35be60d3058dd3b1e9145","after":"02c5aa9b092818785ed8db4e2246a828278138e3","ref":"refs/heads/master","pushedAt":"2024-05-25T02:11: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":"Destroy ARC buffer in case of fill error\n\nIn case of error dmu_buf_fill_done() returns the buffer back into\r\nDB_UNCACHED state. Since during transition from DB_UNCACHED into\r\nDB_FILL state dbuf_noread() allocates an ARC buffer, we must free\r\nit here, otherwise it will be leaked.\r\n\r\nReviewed-by: Brian Behlendorf \r\nReviewed-by: Jorgen Lundman \r\nSigned-off-by: Alexander Motin \r\nSponsored by: iXsystems, Inc.\r\nCloses #15665\r\nCloses #15802\r\nCloses #16216","shortMessageHtmlLink":"Destroy ARC buffer in case of fill error"}},{"before":"d0aa9dbccfb06778ca336732ee4e627f50475ad3","after":"8865dfbcaad44a1056f35be60d3058dd3b1e9145","ref":"refs/heads/master","pushedAt":"2024-05-25T02:02:58.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 assertion in Persistent L2ARC\n\nAt the end of l2arc_evict() fix an assertion in the case that l2ad_hand\r\n+ distance == l2ad_end.\r\n\r\nReviewed-by: Brian Behlendorf \r\nSigned-off-by: George Amanakis \r\nCloses #16202\r\nCloses #16207","shortMessageHtmlLink":"Fix assertion in Persistent L2ARC"}},{"before":"34906f8bbee337ee5aa9b79c141517bff0a4e0ab","after":"d0aa9dbccfb06778ca336732ee4e627f50475ad3","ref":"refs/heads/master","pushedAt":"2024-05-25T02:00:29.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":"Use memset to zero stack allocations containing unions\n\nC99 6.7.8.17 says that when an undesignated initialiser is used, only\r\nthe first element of a union is initialised. If the first element is not\r\nthe largest within the union, how the remaining space is initialised is\r\nup to the compiler.\r\n\r\nGCC extends the initialiser to the entire union, while Clang treats the\r\nremainder as padding, and so initialises according to whatever\r\nautomatic/implicit initialisation rules are currently active.\r\n\r\nWhen Linux is compiled with CONFIG_INIT_STACK_ALL_PATTERN,\r\n-ftrivial-auto-var-init=pattern is added to the kernel CFLAGS. This flag\r\nsets the policy for automatic/implicit initialisation of variables on\r\nthe stack.\r\n\r\nTaken together, this means that when compiling under\r\nCONFIG_INIT_STACK_ALL_PATTERN on Clang, the \"zero\" initialiser will only\r\nzero the first element in a union, and the rest will be filled with a\r\npattern. This is significant for aes_ctx_t, which in\r\naes_encrypt_atomic() and aes_decrypt_atomic() is initialised to zero,\r\nbut then used as a gcm_ctx_t, which is the fifth element in the union,\r\nand thus gets pattern initialisation. Later, it's assumed to be zero,\r\nresulting in a hang.\r\n\r\nAs confusing and undiscoverable as it is, by the spec, we are at fault\r\nwhen we initialise a structure containing a union with the zero\r\ninitializer. As such, this commit replaces these uses with an explicit\r\nmemset(0).\r\n\r\nSponsored-by: Klara, Inc.\r\nSponsored-by: Wasabi Technology, Inc.\r\nReviewed-by: Tino Reichardt \r\nReviewed-by: Brian Behlendorf \r\nSigned-off-by: Rob Norris \r\nCloses #16135\r\nCloses #16206","shortMessageHtmlLink":"Use memset to zero stack allocations containing unions"}},{"before":"708be0f415c83c941d3ed5153fafc5d3766e4cdd","after":"34906f8bbee337ee5aa9b79c141517bff0a4e0ab","ref":"refs/heads/master","pushedAt":"2024-05-25T01:55:48.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":"zap: reuse zap_leaf_t on dbuf reuse after shrink\n\nIf a shrink or truncate had recently freed a portion of the ZAP, the\r\ndbuf could still be sitting on the dbuf cache waiting for eviction. If\r\nit is then allocated for a new leaf before it can be evicted, the\r\nzap_leaf_t is still attached as userdata, tripping the VERIFY.\r\n\r\nInstead, just check for the userdata, and if we find it, reuse it.\r\n\r\nSponsored-by: Klara, Inc.\r\nSponsored-by: iXsystems, Inc.\r\nReviewed-by: Alexander Motin \r\nSigned-off-by: Rob Norris \r\nCloses #16157.\r\nCloses #16204","shortMessageHtmlLink":"zap: reuse zap_leaf_t on dbuf reuse after shrink"}},{"before":"7572e8ca04adda7af207dd27d643d241351680e7","after":"708be0f415c83c941d3ed5153fafc5d3766e4cdd","ref":"refs/heads/master","pushedAt":"2024-05-25T01:54:24.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.7 compat: detect if kernel defines intptr_t\n\nSince Linux 6.7 the kernel has defined intptr_t. Clang has\r\n-Wtypedef-redefinition by default, which causes the build to fail\r\nbecause we also have a typedef for intptr_t.\r\n\r\nSince its better to use the kernel's if it exists, detect it and skip\r\nour own.\r\n\r\nSponsored-by: https://despairlabs.com/sponsor/\r\nReviewed-by: Tino Reichardt \r\nReviewed-by: Brian Behlendorf \r\nSigned-off-by: Rob Norris \r\nCloses #16201","shortMessageHtmlLink":"Linux 6.7 compat: detect if kernel defines intptr_t"}},{"before":"08648cf0da381fb667fa413ba95407ae4c3f8a8f","after":"7572e8ca04adda7af207dd27d643d241351680e7","ref":"refs/heads/master","pushedAt":"2024-05-25T01:45:58.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 a gcc -Wint-to-pointer-cast warning\n\nOn 32-bit platforms long long is generally 64-bits. Sufficiently modern\r\nversions of gcc (13 in my testing) complains when casting a pointer to\r\nan integer of a different width so cast to uintptr_t first to avoid the\r\nwarning.\r\n\r\nFixes: c183d164aa Parallel pool import\r\n\r\nReviewed-by: Brian Behlendorf \r\nReviewed-by: Don Brady \r\nSigned-off-by: Brooks Davis \r\nCloses #16203","shortMessageHtmlLink":"Avoid a gcc -Wint-to-pointer-cast warning"}},{"before":"efbef9e6cc1e14cc19a24b76175f7ec86610161a","after":"08648cf0da381fb667fa413ba95407ae4c3f8a8f","ref":"refs/heads/master","pushedAt":"2024-05-25T01:45:09.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":"Allow block cloning to be interrupted by a signal.\n\nEven though block cloning is much faster than regular copying,\r\nit is not instantaneous - the file might be large and the recordsize\r\nsmall. It would be nice to be able to interrupt it with a signal\r\n(e.g., SIGINFO on FreeBSD to see the progress).\r\n\r\nReviewed-by: Brian Behlendorf \r\nSigned-off-by: Pawel Jakub Dawidek \r\nCloses #16208","shortMessageHtmlLink":"Allow block cloning to be interrupted by a signal."}},{"before":"fec16b93c46d80ae60a4f20632932601030b6fc0","after":"efbef9e6cc1e14cc19a24b76175f7ec86610161a","ref":"refs/heads/master","pushedAt":"2024-05-17T00:56:56.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":"FreeBSD: Add zfs_link_create() error handling\n\nOriginally Solaris didn't expect errors there, but they may happen\r\nif we fail to add entry into ZAP. Linux fixed it in #7421, but it\r\nwas never fully ported to FreeBSD.\r\n\r\nReviewed-by: Brian Behlendorf \r\nSigned-off-by: Alexander Motin \r\nSponsored-By: iXsystems, Inc.\r\nCloses #13215\r\nCloses #16138","shortMessageHtmlLink":"FreeBSD: Add zfs_link_create() error handling"}},{"before":"a043b60f1eabcdd72f30b692565a2c982b1a1e8a","after":"fec16b93c46d80ae60a4f20632932601030b6fc0","ref":"refs/heads/master","pushedAt":"2024-05-17T00:55:44.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":"config/zfs-build.m4: add Alpine Linux bash-completion path\n\nReviewed-by: Brian Behlendorf \nSigned-off-by: omni \nCloses #16164","shortMessageHtmlLink":"config/zfs-build.m4: add Alpine Linux bash-completion path"}},{"before":"e675852bc1d50404fcbe4fa0e1f57b6c318e6349","after":"a043b60f1eabcdd72f30b692565a2c982b1a1e8a","ref":"refs/heads/master","pushedAt":"2024-05-16T22:37:51.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":"Correct level handling in zstream recompress.\n\nsscanf returns number of items parsed on success and EOF on failure.\r\n\r\nReviewed-by: Adam Moss \r\nReviewed-by: Paul Dagnelie \r\nReviewed-by: Brian Behlendorf \r\nReviewed-by: Rob Norris \r\nSigned-off-by: Rich Ercolani \r\nCloses #16198","shortMessageHtmlLink":"Correct level handling in zstream recompress."}},{"before":"3c941d18183455138f7c5dcc212177bd3cea8afc","after":"e675852bc1d50404fcbe4fa0e1f57b6c318e6349","ref":"refs/heads/master","pushedAt":"2024-05-15T20:03: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":"dbuf: separate refcount calls for dbuf and dbuf_user\n\nIn 92dc4ad83 I updated the dbuf_cache accounting to track the size of\r\nuserdata associated with dbufs. This adds the size of the dbuf+userdata\r\ntogether in a single call to zfs_refcount_add_many(), but sometime\r\nremoves them in separate calls to zfs_refcount_remove_many(), if dbuf\r\nand userdata are evicted separately.\r\n\r\nWhat I didn't realise is that when refcount tracking is on,\r\nzfs_refcount_add_many() and zfs_refcount_remove_many() are expected to\r\nbe paired, with their second & third args (count & holder) the same on\r\nboth sides. Splitting the remove part into two calls means the counts\r\ndon't match up, tripping a panic.\r\n\r\nThis commit fixes that, by always adding and removing the dbuf and\r\nuserdata counts separately.\r\n\r\nSponsored-by: Klara, Inc.\r\nSponsored-by: Wasabi Technology, Inc.\r\nReported-by: Mark Johnston \r\nReviewed-by: Brian Behlendorf \r\nReviewed-by: Alexander Motin \r\nSigned-off-by: Rob Norris \r\nCloses #16191","shortMessageHtmlLink":"dbuf: separate refcount calls for dbuf and dbuf_user"}},{"before":"0a543db37111c28085043da89e452ea6b131c019","after":"3c941d18183455138f7c5dcc212177bd3cea8afc","ref":"refs/heads/master","pushedAt":"2024-05-14T18:58:19.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":"zdb/ztest: send dbgmsg output to stderr\n\nAnd, make the output fd an arg to zfs_dbgmsg_print(). This is a change\nin behaviour, but keeps it consistent with where crash traces go, and\nit's easy to argue this is what we want anyway; this is information\nabout the task, not the actual output of the task.\n\nSponsored-by: Klara, Inc.\nSponsored-by: Wasabi Technology, Inc.\nReviewed-by: Brian Behlendorf \nSigned-off-by: Rob Norris \nCloses #16181","shortMessageHtmlLink":"zdb/ztest: send dbgmsg output to stderr"}},{"before":"b64afa41d56e98b5817aaf14c7deb0fa7e2142fb","after":"0a543db37111c28085043da89e452ea6b131c019","ref":"refs/heads/master","pushedAt":"2024-05-14T16:43:20.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":"spa_taskq_dispatch_ent: simplify arguments\n\nThis renames it to spa_taskq_dispatch(), and reduces and simplifies its\narguments based on these observations from its two call sites:\n\n- arg is always the zio, so it can be typed that way, and we don't need\n to provide it twice;\n- ent is always &zio->io_tqent, and zio is always provided, so we can\n use it directly;\n- the only flag used is TQ_FRONT, which can just be a bool;\n- zio != NULL was part of the \"use allocator\" test, but it never would\n have got that far, because that arg was only set to NULL in the\n reexecute path, which is forced to type CLAIM, so the condition would\n fail at t == WRITE anyway.\n\nSponsored-by: Klara, Inc.\nSponsored-by: Wasabi Technology, Inc.\nReviewed-by: Brian Behlendorf \nReviewed-by: Alexander Motin \nSigned-off-by: Rob Norris \nCloses #16151","shortMessageHtmlLink":"spa_taskq_dispatch_ent: simplify arguments"}},{"before":"89acef992bf328e0ffba63950b176a0d9572b792","after":"b64afa41d56e98b5817aaf14c7deb0fa7e2142fb","ref":"refs/heads/master","pushedAt":"2024-05-14T16:37:55.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":"Better control the thread pool size when mounting datasets\n\nEver since a10d50f999, ZFS has mounted file systems in parallel when\nimporting a pool. It uses a fixed size of 512 for the thread pool. But\nsince c183d164aa1, it has also imported pools in parallel. So the total\nnumber of threads at one time is 513 * npools + 1. That can easily\nexceed the system's limit on the number of threads per process, which\nwill cause one or more pools to be unable to allocate any worker\nthreads, forcing them to fallback to slow serial mounting . To\nforestall that, manage the threadpool size in /sbin/zpool, not libzfs.\nUse the same size (512), but divided by the number of pools.\n\nThis is a backwards-incompatible change to the libzfs abi.\n\nSponsored by: Axcient\nReviewed-by: Brian Behlendorf \nReviewed-by: George Wilson \nSigned-off-by: Alan Somers \nCloses #16178","shortMessageHtmlLink":"Better control the thread pool size when mounting datasets"}},{"before":"abec7dcd30acfb195bca36334cec4fe82b082b1d","after":"89acef992bf328e0ffba63950b176a0d9572b792","ref":"refs/heads/master","pushedAt":"2024-05-14T16:06:34.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":"Simplified the scope of the namespace lock\n\nIf we wait until after we check for no spa references to drop the\nnamespace lock, then we know that spa consumers will need to call\nspa_lookup() and end up waiting on the spa_namespace_cv until we\nfinish. This narrows the external checks to spa_lookup and we no\nlonger need to worry about the spa_vdev_enter case.\n\nSponsored-By: Klara Inc.\nSponsored-by: Wasabi Technology, Inc.\nReviewed-by: Brian Behlendorf \nReviewed-by: George Wilson \nSigned-off-by: Don Brady \nCloses #16153","shortMessageHtmlLink":"Simplified the scope of the namespace lock"}},{"before":"136c05321140ecefa81a830754c64a7867d033e0","after":"abec7dcd30acfb195bca36334cec4fe82b082b1d","ref":"refs/heads/master","pushedAt":"2024-05-13T22:12:07.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: disable lockdep for a couple of locks\n\nWhen running a debug kernel with lockdep enabled there\r\nare several locks which report false positives. Set\r\nMUTEX_NOLOCKDEP/RW_NOLOCKDEP to disable these warnings.\r\n\r\nReviewed-by: Brian Atkinson \r\nSigned-off-by: Brian Behlendorf \r\nCloses #16188","shortMessageHtmlLink":"Linux: disable lockdep for a couple of locks"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEXr5XSgA","startCursor":null,"endCursor":null}},"title":"Activity · openzfs/zfs"}