Hello Theo

Thank you. Created it here
https://gitlab.freedesktop.org/gnu-grub/grub/-/merge_requests/202.

Maximo

On Fri, Jul 31, 2026 at 12:38 PM Leo Sandoval <[email protected]> wrote:

> Hi Maximo
>
> We have moved to a GitLab MR based development workflow so please create
> an MR instead.
>
> Instructions are at:
> https://gitlab.freedesktop.org/gnu-grub/grub/-/raw/master/CONTRIBUTING
>
> Leo
>
> On Fri, Jul 31, 2026 at 1:11 AM Maximo Guk via Grub-devel <
> [email protected]> wrote:
>
>> We don't need any actual adjustments as we don't use the affected
>> structures.
>>
>> Both features are read-incompatible - they are registered without
>> ZFEATURE_FLAG_READONLY_COMPAT and are therefore recorded in the pool's
>> features_for_read - so check_mos_features() refuses to mount any pool
>> where
>> either is active. Neither affects a structure GRUB reads:
>> com.datto:bookmark_v2 only enlarges bookmark objects and
>> com.delphix:bookmark_written only adds bookmark accounting fields, while
>> GRUB
>> never enumerates bookmarks. Note that com.delphix:bookmarks itself is
>> READONLY_COMPAT and so never appears in features_for_read.
>>
>> This follows commit c464f1ec3 (fs/zfs/zfs: Mark vdev_zaps_v2 and
>> head_errlog
>> as supported), which added com.delphix:head_errlog - likewise recorded in
>> features_for_read and likewise unused by GRUB.
>>
>> Signed-off-by: Maximo Guk <[email protected]>
>> ---
>> Found this when a nightly ZFS send/recv backup created a bookmark on the
>> pool
>> holding /boot. The machine ran fine that day and simply failed to boot on
>> the
>> next restart, with nothing to indicate what had changed.
>>
>> Reproduced on Ubuntu 26.04 (GRUB 2.14, OpenZFS 2.4.1), single-pool ZFS
>> root:
>> creating a bookmark makes "grub-probe --target=fs /" fail (the same
>> check_mos_features() path used at boot), and destroying it restores both
>> the
>> feature state and booting.
>>
>> This is not specific to one backup tool - zrepl, sanoid/syncoid and
>> zfs-autobackup all create bookmarks to anchor incremental sends without
>> retaining snapshots. zrepl carries an open issue for the same interaction:
>> https://github.com/zrepl/zrepl/issues/501
>>
>> Earlier discussion of GRUB's feature allowlist, including a proposal to
>> relax
>> check_mos_features() wholesale (this patch is the narrower alternative):
>> https://github.com/openzfs/zfs/discussions/15169
>>
>> Happy to test any alternative approach.
>>
>>  grub-core/fs/zfs/zfs.c | 2 ++
>>  1 file changed, 2 insertions(+)
>>
>> diff --git a/grub-core/fs/zfs/zfs.c b/grub-core/fs/zfs/zfs.c
>> index 83dfa6d52..5d0c50b69 100644
>> --- a/grub-core/fs/zfs/zfs.c
>> +++ b/grub-core/fs/zfs/zfs.c
>> @@ -296,6 +296,8 @@ static const char *spa_feature_names[] = {
>>    "com.klarasystems:vdev_zaps_v2",
>>    "com.delphix:head_errlog",
>>    "org.freebsd:zstd_compress",
>> +  "com.datto:bookmark_v2",
>> +  "com.delphix:bookmark_written",
>>    NULL
>>  };
>>
>> --
>> 2.53.0
>>
>> _______________________________________________
>> Grub-devel mailing list
>> [email protected]
>> https://lists.gnu.org/mailman/listinfo/grub-devel
>>
>>
_______________________________________________
Grub-devel mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/grub-devel

Reply via email to