{"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":"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"}},{"before":"2420ee6e12cb4bc4918fc88d44d59b486b86e58b","after":"6be8bf5552b16475629a15ab62759eb7a6d73e3b","ref":"refs/heads/master","pushedAt":"2024-08-26T16:27:24.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":"zpool: Provide GUID to zpool-reguid(8) with -g (#16239)\n\nThis commit extends the zpool-reguid(8) command with a -g flag, which\r\nallows the user to specify the GUID to set.\r\n\r\nThis change also adds some general tests for zpool-reguid(8).\r\n\r\nSponsored-by: Wasabi Technology, Inc.\r\nSponsored-by: Klara, Inc.\r\n\r\nSigned-off-by: Mateusz Piotrowski <0mp@FreeBSD.org>\r\nReviewed-by: Rob Norris \r\nReviewed-by: Brian Behlendorf \r\nReviewed-by: Tony Hutter ","shortMessageHtmlLink":"zpool: Provide GUID to zpool-reguid(8) with -g (#16239)"}},{"before":"34118eac06fba834f0c934419aec1b386c98665a","after":"2420ee6e12cb4bc4918fc88d44d59b486b86e58b","ref":"refs/heads/master","pushedAt":"2024-08-23T17:40:46.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-taskq: fix task counts for delayed and cancelled tasks\n\nDispatched delayed tasks were not added to tasks_total, and cancelled\r\ntasks were not removed. This notably could make tasks_total go to\r\nUNIT64_MAX, but just generally meant the count could be wrong. So lets\r\nnot!\r\n\r\nSponsored-by: Klara, Inc.\r\nSponsored-by: Syneto\r\nReviewed-by: Brian Behlendorf \r\nSigned-off-by: Rob Norris \r\nCloses #16473","shortMessageHtmlLink":"spl-taskq: fix task counts for delayed and cancelled tasks"}},{"before":"cb36f4f3529473d977189010f41b9a98c644d2d3","after":"34118eac06fba834f0c934419aec1b386c98665a","ref":"refs/heads/master","pushedAt":"2024-08-23T17:39: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":"Make mount.zfs(8) calling zfs_mount_at for legacy mounts as well\n\nCommit 329e2ffa4bca456e65c3db7f5c5c04931c551b61 has made mount.zfs(8) to\r\ncall libzfs function 'zfs_mount_at', in order to propagate dataset\r\nproperties into mount options. This fix however, is limited to a special\r\nuse case where mount.zfs(8) is used in initrd with option '-o zfsutil'.\r\nIf either initrd or the user need to use mount.zfs(8) to mount a file\r\nsystem with 'mountpoint' set to 'legacy', '-o zfsutil' can't be used and\r\nthe original issue #7947 will still happen.\r\n\r\nSince the existing code already excluded the possibility of calling\r\n'zfs_mount_at' when it was invoked as a helper program from zfs(8), by\r\nchecking 'ZFS_MOUNT_HELPER' environment variable, it makes no sense to\r\navoid calling 'zfs_mount_at' without '-o zfsutil'.\r\n\r\nAn exception however, is when mount.zfs(8) was invoked with '-o remount'\r\nto update the mount options for an existing mount point. In this case\r\ncall mount(2) directly without modifying the mount options passed from\r\ncommand line.\r\n\r\nFurthermore, don't run mount.zfs(8) helper for automounting snapshot.\r\nThe above change to make mount.zfs(8) to call 'zfs_mount_at'\r\napparently caused it to trigger an automount for the snapshot\r\ndirectory. When the helper was invoked as a result of a snapshot\r\nautomount, an infinite recursion will occur.\r\n\r\nSince the need of invoking user mode mount(8) for automounting was to\r\novercome that the 'vfs_kern_mount' being GPL-only, just run mount(8)\r\nwithout the mount.zfs(8) helper by adding option '-i'.\r\n\r\nReviewed-by: Umer Saleem \r\nReviewed-by: Brian Behlendorf \r\nSigned-off-by: WHR \r\nCloses #16393","shortMessageHtmlLink":"Make mount.zfs(8) calling zfs_mount_at for legacy mounts as well"}},{"before":"9e15877dfb3e80021551301aac71976216b3fe1b","after":"cb36f4f3529473d977189010f41b9a98c644d2d3","ref":"refs/heads/master","pushedAt":"2024-08-22T23:25:39.000Z","pushType":"push","commitsCount":11,"pusher":{"login":"tonyhutter","name":"Tony Hutter","path":"/tonyhutter","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11469457?s=80&v=4"},"commit":{"message":"zstream recompress: fix zero recompressed buffer and output\n\nIf compression happend, any garbage past the compress size was not\nzeroed out.\n\nIf compression didn't happen, then the payload size was still set to\nthe rounded-up return from zio_compress_data(), which is dependent on\nthe input, which is not necessarily the logical size.\n\nSo that's all fixed too, mostly from stealing the math from zio.c.\n\nSponsored-by: Klara, Inc.\nSponsored-by: Wasabi Technology, Inc.\nSigned-off-by: Rob Norris ","shortMessageHtmlLink":"zstream recompress: fix zero recompressed buffer and output"}},{"before":"b69bebb535572ef905b065182d8c80d2fff5a8b4","after":"9e15877dfb3e80021551301aac71976216b3fe1b","ref":"refs/heads/master","pushedAt":"2024-08-22T00:38:06.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: META\n\nUpdate the META file to reflect compatibility with the 6.10 kernel.\r\n\r\nReviewed-by: Rob Norris \r\nReviewed-by: Brian Behlendorf \r\nSigned-off-by: Tony Hutter \r\nCloses #16466","shortMessageHtmlLink":"Linux 6.10 compat: META"}},{"before":"bbe8512a93b0078c43fb5aa6f265059376647bc7","after":"b69bebb535572ef905b065182d8c80d2fff5a8b4","ref":"refs/heads/master","pushedAt":"2024-08-21T20:41:12.000Z","pushType":"push","commitsCount":5,"pusher":{"login":"behlendorf","name":"Brian Behlendorf","path":"/behlendorf","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/148917?s=80&v=4"},"commit":{"message":"libzpool/abd_os: iovec-based scatter abd\n\nThis is intended to be a simple userspace scatter abd based on struct\niovec. It's not very sophisticated as-is, but sets a base for something\nmuch more interesting.\n\nSponsored-by: Klara, Inc.\nSponsored-by: Wasabi Technology, Inc.\nReviewed-by: Alexander Motin \nReviewed-by: Brian Behlendorf \nSigned-off-by: Rob Norris \nCloses #16253","shortMessageHtmlLink":"libzpool/abd_os: iovec-based scatter abd"}},{"before":"a2c4e95cfdf60e8350884ff77a0df00d5ecdd275","after":"bbe8512a93b0078c43fb5aa6f265059376647bc7","ref":"refs/heads/master","pushedAt":"2024-08-21T17:00: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":"Ignore zfs_arc_shrinker_limit in direct reclaim mode\n\nzfs_arc_shrinker_limit (default: 10000) avoids ARC collapse\r\ndue to excessive memory reclaim. However, when the kernel is\r\nin direct reclaim mode (ie: low on memory), limiting ARC reclaim\r\nincreases OOM risk. This is especially true on system without\r\n(or with inadequate) swap.\r\n\r\nThis patch ignores zfs_arc_shrinker_limit when the kernel is in\r\ndirect reclaim mode, avoiding most OOM. It also restores\r\n\"echo 3 > /proc/sys/vm/drop_caches\" ability to correctly drop\r\n(almost) all ARC.\r\n\r\nReviewed-by: Brian Behlendorf \r\nReviewed-by: Adam Moss \r\nSigned-off-by: Gionatan Danti \r\nCloses #16313","shortMessageHtmlLink":"Ignore zfs_arc_shrinker_limit in direct reclaim mode"}},{"before":"816d2b2bfc2591b951f32aeb7c00e14e27ee624c","after":"a2c4e95cfdf60e8350884ff77a0df00d5ecdd275","ref":"refs/heads/master","pushedAt":"2024-08-21T00:16:59.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/zvol_os.c: cleanup limits for non-blk mq case\n\nRob Noris suggested that we could clean up redundant limits for the case\nof non-blk mq scenario.\n\nReviewed-by: Brian Behlendorf \nReviewed-by: Tony Hutter \nReviewed-by: Rob Norris \nSigned-off-by: Ameer Hamza \nCloses #16462","shortMessageHtmlLink":"linux/zvol_os.c: cleanup limits for non-blk mq case"}},{"before":"06a7b123acaaedc36926ab45b3cf61396702dc1d","after":"816d2b2bfc2591b951f32aeb7c00e14e27ee624c","ref":"refs/heads/master","pushedAt":"2024-08-19T17:01:13.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":"spl-proc: remove old taskq stats\n\nThese had minimal useful information for the admin, didn't work properly\nin some places, and knew far too much about taskq internals.\n\nWith the new stats available, these should never be needed anymore.\n\nReviewed-by: Alexander Motin \nReviewed-by: Brian Behlendorf \nReviewed-by: Tino Reichardt \nSigned-off-by: Rob Norris \nSponsored-by: Klara, Inc.\nSponsored-by: Syneto\nCloses #16171","shortMessageHtmlLink":"spl-proc: remove old taskq stats"}},{"before":"77a797a3823c12268e7f1d73f5e024a77b2f582a","after":"06a7b123acaaedc36926ab45b3cf61396702dc1d","ref":"refs/heads/master","pushedAt":"2024-08-19T16:42:18.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":"Skip ro check for snaps when multi-mount\n\nSkip ro check for snapshots since they are always ro regardless if ro\r\nflag is passed by mount or not. This allows multi-mounting snapshots\r\nwithout requiring to specify ro flag.\r\n\r\nReviewed-by: Brian Behlendorf \r\nReviewed-by: Tony Hutter \r\nSigned-off-by: Chunwei Chen \r\nCloses #16299","shortMessageHtmlLink":"Skip ro check for snaps when multi-mount"}},{"before":"a60e15d6b980c7c029c4c3da1f922a39ea24eac5","after":"77a797a3823c12268e7f1d73f5e024a77b2f582a","ref":"refs/heads/master","pushedAt":"2024-08-16T20:34: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":"Enable L2 cache of all (MRU+MFU) metadata but MFU data only\n\n`l2arc_mfuonly` was added to avoid wasting L2 ARC on read-once MRU\r\ndata and metadata. However it can be useful to cache as much\r\nmetadata as possible while, at the same time, restricting data\r\ncache to MFU buffers only.\r\n\r\nThis patch allow for such behavior by setting `l2arc_mfuonly` to 2\r\n(or higher). The list of possible values is the following:\r\n0: cache both MRU and MFU for both data and metadata;\r\n1: cache only MFU for both data and metadata;\r\n2: cache both MRU and MFU for metadata, but only MFU for data.\r\n\r\nReviewed-by: Alexander Motin \r\nReviewed-by: Brian Behlendorf \r\nSigned-off-by: Gionatan Danti \r\nCloses #16343 \r\nCloses #16402","shortMessageHtmlLink":"Enable L2 cache of all (MRU+MFU) metadata but MFU data only"}},{"before":"bdf4d6be1de870b16d4f7997b235d9f19dd7e30e","after":"a60e15d6b980c7c029c4c3da1f922a39ea24eac5","ref":"refs/heads/master","pushedAt":"2024-08-16T19:08:32.000Z","pushType":"push","commitsCount":14,"pusher":{"login":"behlendorf","name":"Brian Behlendorf","path":"/behlendorf","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/148917?s=80&v=4"},"commit":{"message":"Man page updates for dmu_ddt_copies\n\nReviewed-by: Alexander Motin \nReviewed-by: Brian Behlendorf \nSigned-off-by: Allan Jude \nCloses #15895","shortMessageHtmlLink":"Man page updates for dmu_ddt_copies"}},{"before":"5807de90a14127ee78de45c85c2e010841759536","after":"bdf4d6be1de870b16d4f7997b235d9f19dd7e30e","ref":"refs/heads/master","pushedAt":"2024-08-15T21:29:50.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/zvol_os: fix zvol queue limits initialization\n\nzvol queue limits initialization depends on `zv_volblocksize`, but it is\r\ninitialized later, leading to several limits being initialized with\r\nincorrect values, including `max_discard_*` limits. This also causes\r\n`blkdiscard` command to consistently fail, as `blk_ioctl_discard` reads\r\n`bdev_max_discard_sectors()` limits as 0, leading to failure. The fix is\r\nstraightforward: initialize `zv->zv_volblocksize` early, before setting\r\nthe queue limits. This PR should fix `zvol/zvol_misc/zvol_misc_trim`\r\nfailure on recent PRs, as the test case issues `blkdiscard` for a zvol.\r\nAdditionally, `zvol_misc_trim` was recently enabled in `6c7d41a`,\r\nwhich is why the issue wasn't identified earlier.\r\n\r\nReviewed-by: Brian Behlendorf \r\nReviewed-by: Tony Hutter \r\nSigned-off-by: Ameer Hamza \r\nCloses #16454","shortMessageHtmlLink":"linux/zvol_os: fix zvol queue limits initialization"}},{"before":"fb432660c3691b2ac4a4cc462b9789e593c5ac29","after":"5807de90a14127ee78de45c85c2e010841759536","ref":"refs/heads/master","pushedAt":"2024-08-15T21:13:18.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 null ptr deref when renaming a zvol with snaps and snapdev=visible (#16316)\n\nIf a zvol is renamed, and it has one or more snapshots, and\r\nsnapdev=visible is true for the zvol, then the rename causes a kernel\r\nnull pointer dereference error. This has the effect (on Linux, anyway)\r\nof killing the z_zvol taskq kthread, with locks still held; which in\r\nturn causes a variety of zvol-related operations afterward to hang\r\nindefinitely (such as udev workers, among other things).\r\n\r\nThe problem occurs because of an oversight in #15486\r\n(e36ff84c338d2f7b15aef2538f6a9507115bbf4a). As documented in\r\ndataset_kstats_create, some datasets may not actually have kstats\r\nallocated for them; and at least at the present time, this is true for\r\nsnapshots. In practical terms, this means that for snapshots,\r\ndk->dk_kstats will be NULL. The dataset_kstats_rename function\r\nintroduced in the patch above does not first check whether dk->dk_kstats\r\nis NULL before proceeding, unlike e.g. the nearby\r\ndataset_kstats_update_* functions.\r\n\r\nIn the very particular circumstance in which a zvol is renamed, AND that\r\nzvol has one or more snapshots, AND that zvol also has snapdev=visible,\r\nzvol_rename_minors_impl will loop over not just the zvol dataset itself,\r\nbut each of the zvol's snapshots as well, so that their device nodes\r\nwill be renamed as well. This results in dataset_kstats_create being\r\ncalled for snapshots, where, as we've established, dk->dk_kstats is\r\nNULL.\r\n\r\nFix this by simply adding a NULL check before doing anything in\r\ndataset_kstats_rename.\r\n\r\nThis still allows the dataset_name kstat value for the zvol to be\r\nupdated (as was the intent of the original patch), and merely blocks\r\nattempts by the code to act upon the zvol's non-kstat-having snapshots.\r\nIf at some future time, kstats are added for snapshots, then things\r\nshould work as intended in that case as well.\r\n\r\nSigned-off-by: Justin Gottula \r\nReviewed-by: Rob Norris \r\nReviewed-by: Alexander Motin \r\nReviewed-by: Alan Somers \r\nReviewed-by: Allan Jude \r\nReviewed-by: Tony Hutter ","shortMessageHtmlLink":"Fix null ptr deref when renaming a zvol with snaps and snapdev=visible ("}},{"before":"f2f4ada240e3560faa721082c4a62dcb0cce0115","after":"fb432660c3691b2ac4a4cc462b9789e593c5ac29","ref":"refs/heads/master","pushedAt":"2024-08-15T21:05: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":"Linux 6.10 compat: Fix zvol NULL pointer deference\n\nzvol_alloc_non_blk_mq()->blk_queue_set_write_cache() needs the disk\r\nqueue setup to prevent a NULL pointer deference.\r\n\r\nReviewed-by: Brian Behlendorf \r\nSigned-off-by: Tony Hutter \r\nCloses #16453","shortMessageHtmlLink":"Linux 6.10 compat: Fix zvol NULL pointer deference"}},{"before":"963e6c9f3ffc0bc767ca8b89549be595f29f9470","after":"f2f4ada240e3560faa721082c4a62dcb0cce0115","ref":"refs/heads/master","pushedAt":"2024-08-15T21:00:18.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 rpm-kmod and builtin\n\nThe 6.10 kernel broke our rpm-kmod builds. The 6.10 kernel really\r\nwants the source files in the same directory as the object files.\r\nThis workaround makes rpm-kmod work again. It also updates\r\nthe builtin kernel codepath to work correctly with 6.10.\r\n\r\nSee kernel commits:\r\n\r\nb1992c3772e6 kbuild: use $(src) instead of $(srctree)/$(src) for source\r\n directory\r\n9a0ebe5011f4 kbuild: use $(obj)/ instead of $(src)/ for common pattern\r\n rules\r\n\r\nReviewed-by: Brian Behlendorf \r\nSigned-off-by: Tony Hutter \r\nCloses #16439\r\nCloses #16450","shortMessageHtmlLink":"Linux 6.10 compat: fix rpm-kmod and builtin"}},{"before":"83f359245adc9c03ee0ededa2ff00b7dd9f82d2a","after":"963e6c9f3ffc0bc767ca8b89549be595f29f9470","ref":"refs/heads/master","pushedAt":"2024-08-15T19:39: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":"Fix incorrect error report on vdev attach/replace\n\nReport the correct error message in libzfs when attaching/replacing a\r\nvdev with a higher ashift.\r\n\r\nReviewed-by: Brian Behlendorf \r\nReviewed-by: Alexander Motin \r\nSigned-off-by: Ameer Hamza \r\nCloses #16449","shortMessageHtmlLink":"Fix incorrect error report on vdev attach/replace"}},{"before":"d2ccc2155217bfdd7e19db4480d981a8f3fad46f","after":"83f359245adc9c03ee0ededa2ff00b7dd9f82d2a","ref":"refs/heads/master","pushedAt":"2024-08-15T16:08: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":"FreeBSD: fix build without kernel option MAC\n\nReviewed-by: Alexander Motin \r\nReviewed-by: Mark Johnston \r\nReviewed-by: Tony Hutter \r\nSigned-off-by: Gleb Smirnoff \r\nCloses #16446","shortMessageHtmlLink":"FreeBSD: fix build without kernel option MAC"}},{"before":"244ea5c4881f92a9d7c1fb341a49b127fda7539d","after":"d2ccc2155217bfdd7e19db4480d981a8f3fad46f","ref":"refs/heads/master","pushedAt":"2024-08-15T00:59: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":"Fix projid accounting for xattr objects\n\nzpool upgraded with 'feature@project_quota' needs re-layout of SA's\r\nto fix the SA_ZPL_PROJID at SA_PROJID_OFFSET (128). Its necessary for\r\nthe correct accounting of object usage against its projid.\r\nOld object (created before upgrade) when gets a projid assigned, its\r\nSA gets re-layout via sa_add_projid(). If object has xattr dir, SA\r\nof xattr dir also gets re-layout. But SA re-layout of xattr objects\r\ninside a xattr dir is not done.\r\n\r\nFix zfs_setattr_dir() to re-layout SA's on xattr objects, when setting\r\nprojid on old xattr object (created before upgrade).\r\n\r\nReviewed-by: Tony Hutter \r\nReviewed-by: Brian Behlendorf \r\nSigned-off-by: Jitendra Patidar \r\nCloses #16355\r\nCloses #16356","shortMessageHtmlLink":"Fix projid accounting for xattr objects"}},{"before":"d06de4f007947a9bc73f5796dd57a70ede3a525f","after":"244ea5c4881f92a9d7c1fb341a49b127fda7539d","ref":"refs/heads/master","pushedAt":"2024-08-14T21:18:46.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":"Add missing kstats to dataset kstats\n\nReviewed-by: Tony Nguyen \r\nReviewed-by: Rob Norris \r\nSigned-off-by: Paul Dagnelie \r\nCloses #16431","shortMessageHtmlLink":"Add missing kstats to dataset kstats"}},{"before":"2633075e0905bbe4989a469c7d5892f2cf1108be","after":"d06de4f007947a9bc73f5796dd57a70ede3a525f","ref":"refs/heads/master","pushedAt":"2024-08-14T19:27: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":"ZTS: Use /dev/urandom instead of /dev/random\n\nUse /dev/urandom so we never have to wait on entropy.\r\n\r\nReviewed-by: George Melikov \r\nReviewed-by: Brian Behlendorf \r\nSigned-off-by: Tony Hutter \r\nCloses #16442","shortMessageHtmlLink":"ZTS: Use /dev/urandom instead of /dev/random"}},{"before":"9c56b8ec7855119c8948c551ee28086a11465a56","after":"2633075e0905bbe4989a469c7d5892f2cf1108be","ref":"refs/heads/master","pushedAt":"2024-08-14T00:47:51.000Z","pushType":"push","commitsCount":8,"pusher":{"login":"behlendorf","name":"Brian Behlendorf","path":"/behlendorf","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/148917?s=80&v=4"},"commit":{"message":"Linux 6.11: avoid passing \"end\" sentinel to register_sysctl()\n\nReviewed-by: Tony Hutter \nReviewed-by: Brian Behlendorf \nSigned-off-by: Rob Norris \nSponsored-by: https://despairlabs.com/sponsor/\nCloses #16400","shortMessageHtmlLink":"Linux 6.11: avoid passing \"end\" sentinel to register_sysctl()"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAErkf2dAA","startCursor":null,"endCursor":null}},"title":"Activity ยท openzfs/zfs"}