bugGNU GRUB - Bugs: bug #42861, can't access ZFS on FreeBSD due to...

 
 

You are not allowed to post comments on this tracker with your current authentication level.

bug #42861: can't access ZFS on FreeBSD due to new pool features

Submitter:  Andrey Zholos <aaz>
Submitted:  Mon 28 Jul 2014 01:58:23 PM UTC
   
 
Category:  Filesystem Severity:  Major
Priority:  5 - Normal Item Group:  None
Status:  Fixed Privacy:  Public
Assigned to:  None Originator Name: 
Open/Closed:  Closed Release:  Git master
Release:  Reproducibility:  Every Time
Planned Release:  None

Sun 17 May 2015 07:58:08 PM UTC, comment #5: 

Thank you. Looks like installing and booting works fine.

I tested the current master on the latest FreeBSD 11 snapshot installed on a ZFS root filesystem.

Andrey Zholos <aaz>
Tue 05 May 2015 04:00:14 PM UTC, comment #4: 

Both hole_birth and embedded_data are added to current master (as of 4a7ea4003bd9f39e9bf2ebadbe4ab38f8874be66). Please test and reopen if required.

Andrei Borzenkov <arvidjaar>
Group Member
Wed 10 Dec 2014 06:42:30 AM UTC, comment #3: 

Could you send patch against current savannah master to grub-devel for review?

Andrei Borzenkov <arvidjaar>
Group Member
Tue 19 Aug 2014 11:50:05 AM UTC, comment #2: 

Thank you. I can confirm your branch works on FreeBSD.

I tested using the latest FreeBSD 11 snapshot, on a root ZFS pool with all features enabled. grub-probe correctly detected the pool and grub-fstest could read any files, e.g.:


# grub-fstest /dev/ada0p3 cat /ROOT/default/@/bin/cat | cmp - /bin/cat


Andrey Zholos <aaz>
Mon 18 Aug 2014 04:06:26 PM UTC, comment #1: 

I've ported the appropriate changes to grub.  They're available at https://github.com/dweeezil/grub/tree/zfs.

That branch also has another ZFS-related change I submitted awhile ago.

Tim Chase <dweeezil>
Mon 28 Jul 2014 01:58:23 PM UTC, original submission:  

Two new features have been added to ZFS on FreeBSD (and probably other OSes) that prevent GRUB from reading newly-created pools:

  • com.delphix:hole_birth (a few months ago, present in FreeBSD 9.3 release)
  • com.delphix:embedded_data (this month, present in current FreeBSD 10 and 11 snapshots)


They are described in the zpool-features manpage.

Here is grub-probe attempting to access a pool:


grub-core/kern/fs.c:56: Detecting zfs...
grub-core/kern/emu/hostdisk.c:236: reusing open device `/dev/ada0'
grub-core/kern/emu/hostdisk.c:236: reusing open device `/dev/ada0'
grub-core/fs/zfs/zfs.c:1187: label ok 0
grub-core/kern/emu/hostdisk.c:236: reusing open device `/dev/ada0'
grub-core/kern/emu/hostdisk.c:236: reusing open device `/dev/ada0'
grub-core/fs/zfs/zfs.c:1003: check 2 passed
grub-core/fs/zfs/zfs.c:1014: check 3 passed
grub-core/fs/zfs/zfs.c:1021: check 4 passed
grub-core/fs/zfs/zfs.c:1031: check 6 passed
grub-core/fs/zfs/zfs.c:1039: check 7 passed
grub-core/fs/zfs/zfs.c:1050: check 8 passed
grub-core/fs/zfs/zfs.c:1060: check 9 passed
grub-core/fs/zfs/zfs.c:1082: check 11 passed
grub-core/fs/zfs/zfs.c:1107: check 10 passed
grub-core/fs/zfs/zfs.c:1123: str=com.delphix:hole_birth
grub-core/fs/zfs/zfs.c:1126: feature missing in check_pool_label:com.delphix:hole_birth
...
grub-core/kern/fs.c:78: zfs detection failed.


Andrey Zholos <aaz>

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

No files currently attached

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -email is unavailable- added by arvidjaar (Posted a comment)
  • -email is unavailable- added by dweeezil (Posted a comment)
  • -email is unavailable- added by aaz (Submitted the item)
  •  

    There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.

     

    Follow 2 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2015-05-05 arvidjaar StatusNone Fixed
        Open/ClosedOpen Closed

    Back to the top

    Powered by Savane 3.13-f8d8.
    Corresponding source code