bugGNU GRUB - Bugs: bug #44448, grub refuses to load (or...

 
 

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

bug #44448: grub refuses to load (or recognize) a freebsd module -- "file not found"

Submitter:  Kostya Berger <bergerkos>
Submitted:  Fri 06 Mar 2015 12:44:42 PM UTC
   
 
Category:  Filesystem Severity:  Major
Priority:  5 - Normal Item Group:  Software Error
Status:  Fixed Privacy:  Public
Assigned to:  None Originator Name:  Kostya Berger
Open/Closed:  Closed Release:  Git master
Release:  Reproducibility:  None
Planned Release:  None

Jump to the original submission

Thu 14 May 2015 08:47:35 AM UTC, comment #42: 

Thank you and everyone who helped.

Kostya Berger <bergerkos>
Thu 14 May 2015 04:52:11 AM UTC, comment #41: 

Fixed in 5370dcfdae66b60cff3507ad925300a679fe4117. Thank you!

Andrei Borzenkov <arvidjaar>
Group Member
Wed 13 May 2015 06:49:52 PM UTC, comment #40: 

Will you commit this now? Or should other tests be done?

Kostya Berger <bergerkos>
Wed 13 May 2015 06:47:25 PM UTC, comment #39: 

Yes, it does. Thank you very much for assistance.

Kostya Berger <bergerkos>
Wed 13 May 2015 03:25:33 PM UTC, comment #38: 

Yes, size was truncated. Please revert previous patch and test this one - should fix it.

(file #34000)

Andrei Borzenkov <arvidjaar>
Group Member
Wed 13 May 2015 12:30:15 PM UTC, comment #37: 

Tested, not showing the file yet. Here's the log.

(file #33998)

Kostya Berger <bergerkos>
Tue 12 May 2015 03:19:15 PM UTC, comment #36: 

Please test with attached patch (which shows size before shift). Attach usual debug log from attempt to list non-existing file.

(file #33987)

Andrei Borzenkov <arvidjaar>
Group Member
Tue 12 May 2015 01:46:25 PM UTC, comment #35: 

Well, I don't know how to check the overflow of any variables, sorry. I can only state that reverting this small change in gurb-core/fs/zfs/zfs.c in the latest git code makes everything work again.

And for the information, /boot/kernel directory in default FreeBSD installation contains 1531 files. Which is obviously different from what we have in Linux /lib/modules/$VERSION/ directory, where moudules are distributed in the corresponding directories. So nothing of the sort happens there, I guess...

Kostya Berger <bergerkos>
Tue 12 May 2015 01:29:28 PM UTC, comment #34: 

ah, ok, i think i can see what is going on there -- the mzap itself has indeed number of chunks defined as 16bit int, meaning that single mzap entry can not have more; however, in case of large directory, there are probably more mzap entries in use and chopping chunks local variable to 16bits will break browsing large directories as the zap lookup will overflow the chunks counter. to debug that, one would need large directory and check the overflow of the now 16bit variables - i have strong feeling that ones in zap_lookup() may be the root cause of this regression.

Toomas Soome <tsoome>
Tue 12 May 2015 12:54:36 PM UTC, comment #33: 

So, here is my result:

87a04adb6541c4bf169644bb2f84036a7c8558dd is the first bad commit
commit 87a04adb6541c4bf169644bb2f84036a7c8558dd
Author: Vladimir Serbinenko <phcoder@gmail.com>
Date:   Sat Feb 21 16:22:01 2015 +0100

    zfs/mzap_lookup: Fix argument types

:040000 040000 7685b6683cd37339232e5e29dabe0867a078ee99 a4c4cc9e1344c67789327752f94fe1d6d47a3f2d M grub-core

(I've tested it all on a pool specifically created with only such features enabled as were supported by the 2.02~beta2 tarball release).

Kostya Berger <bergerkos>
Tue 12 May 2015 10:42:07 AM UTC, comment #32: 

OK got it.

Kostya Berger <bergerkos>
Tue 12 May 2015 10:33:34 AM UTC, comment #31: 

Th problem with git bisect command is that it doesn't recognize the version of 2.02~beta2:
fatal: Needed a single revision
Bad rev input: 2.02~beta2

Kostya Berger <bergerkos>
Thu 07 May 2015 01:17:17 PM UTC, comment #30: 

arvidjaar: Thanks for your detailed recommendation on git bisect. I'll try as soon as I have time.

Kostya Berger <bergerkos>
Thu 07 May 2015 01:16:40 PM UTC, comment #29: 

ok, from this debug list it appears its getting full listing without the errors, did you compare this full listing with real ls command output? was there anything missing? at least the zfs.ko, which was used in some previous examples was listed there.

you can run grub-fstest ls without debug, sort it and diff to real ls to see if the list of names is same or not.

if the grub-fstest ls list is same as from ls, can you reproduce the error case with single file and post debug log if you can?

Toomas Soome <tsoome>
Thu 07 May 2015 12:16:36 PM UTC, comment #28: 

OK, attached the output of the command:

grub-fstest -d zfs /dev/ada0 ls /ROOT/default@/boot/kernel > debug.txt 2>&1

(file #33952)

Kostya Berger <bergerkos>
Thu 07 May 2015 11:51:51 AM UTC, comment #27: 

ok, thanks, the code is the same.

so, can you post the command and debug output for listing files in that /boot/kernel please. the full directory, not just one file.  to save space you can compress it, i understand you have quite many files there.

Toomas Soome <tsoome>
Thu 07 May 2015 10:12:05 AM UTC, comment #26: 

I've emailed you the zfs.c.

As to your version of events, I'll tell you how I created this installation. I deleted all partitions from the disk, then created a ZFS pool all over the disk (raw-disk pool). Then sent a snapshot from my existing installation into this new zpool, which resulted in this disk configuration I'm using now.

(file #33950)

Kostya Berger <bergerkos>
Thu 07 May 2015 08:53:14 AM UTC, comment #25: 

just to clarify why i'm insisting to check with extendible dataset patch - since freebsd zfs does implement it, it may be the case the actual write did use this feature but did not update feature flag properly, in which case the updated read test would succeed and then we can conclude its bug with freebsd zfs module. if its still unable to find the file(s), then we have to dig deeper to find out whats going on there.

Toomas Soome <tsoome>
Thu 07 May 2015 08:35:17 AM UTC, comment #24: 

Were you able to apply the patch cleanly and can you mail me the zfs.c?

If patch was successful, please post an full debug log from "grub-fstest ls /ROOT/default/@/boot/kernel" with command line you used.

Also please try to paste the actual commands and outputs, as in some cases you are using @ notation and in some cases you are not and its impossible to understand if the issue is with arguments used or something else.

Toomas Soome <tsoome>
Thu 07 May 2015 06:34:05 AM UTC, comment #23: 

No. It works for my other pool, which doesn't have these features enabled.

Toomas Soome:No, the actual command was
grub-fstest /dev/ada0 ls /ROOT/goot/kernel/zfs.ko

I start from the start, with the 'ls' command for root:
grub-fstest /dev/ada0 ls /
@/ ROOT/
...So, getting deeper into the actual root "/ROOT" shows other directories and files -- except a number of modules in the "/ROOT/boot/kernel" directory. As I mentioned, it shows some, but not others. This is exactly the problem I'm reporting. When I copy the problematic files over into a "custom" directory (i.e. "/ROOT/boot/custom"), the files become perfectly visible and loadable for grub.

Kostya Berger <bergerkos>
Tue 05 May 2015 04:13:07 PM UTC, comment #22: 

If you are sure it worked in 2.02~beta2 then as I already told you the most straightforward way to find out when it got broken is git bisect (http://git-scm.com/docs/git-bisect)

I recommend building in clean separate directory every time

git bisect start
git bisect bad
git bisect good 2.02~beta2

and then in a loop

rm -rf build
mkdir build
git archive HEAD | tar -xf - -C build
cd build
./autogen.sh
./configure
make
test
cd ..
git bisect {bad|good}
repeat

But test 2.02~beta2 first to make sure it really works. I am a bit surprised it does, as your output shows hole_birth and embedded_data features and they were missing in 2.02~beta2.

The same git bisect applies to grub-install problem by the way. I checked and the only difference between 2.02~beta2 and current master in util/setup.c are trivial cleanups. So something else must have changed.

Andrei Borzenkov <arvidjaar>
Group Member
Tue 05 May 2015 04:08:36 PM UTC, comment #21: 

just for future reference; your current grub-fstest ls command fails because you are running it as "ls /boot/kernel", but you need to run it as "ls /@/boot/kernel"  - the boot is directory on dataset, and dataset root is specified by /@/. or if you wanna list files on poolname/ROOT/dataset/boot/kernel, you need to use "ls ROOT/dataset/@/boot/kernel" - thats assuming you have dataset tree as pool/ROOT/dataset and inside it you have normal directory tree /boot/kernel.

Toomas Soome <tsoome>
Tue 05 May 2015 02:26:42 PM UTC, comment #20: 

Yes, please, post it in git format or something. Copy pasting causes line breaking sometimes, so there appear "lines" that aren't present in the code.

Kostya Berger <bergerkos>
Tue 05 May 2015 02:20:33 PM UTC, comment #19: 

uh, which part were left out? i can post you git format-patch, so you should get it applied clean and we can be sure we are on the same code base:)

Toomas Soome <tsoome>
Tue 05 May 2015 02:07:38 PM UTC, comment #18: 

Sorry, there was a typo in the command ("goot" instead of "boot"). With the typo corrected the output is like this:

grub-core/fs/zfs/zfs.c:1192: label ok 0
grub-core/fs/zfs/zfs.c:1007: check 2 passed
grub-core/fs/zfs/zfs.c:1018: check 3 passed
grub-core/fs/zfs/zfs.c:1025: check 4 passed
grub-core/fs/zfs/zfs.c:1035: check 6 passed
grub-core/fs/zfs/zfs.c:1043: check 7 passed
grub-core/fs/zfs/zfs.c:1054: check 8 passed
grub-core/fs/zfs/zfs.c:1064: check 9 passed
grub-core/fs/zfs/zfs.c:1086: check 11 passed
grub-core/fs/zfs/zfs.c:1112: check 10 passed
grub-core/fs/zfs/zfs.c:1128: str=com.delphix:hole_birth
grub-core/fs/zfs/zfs.c:1128: str=com.delphix:embedded_data
grub-core/fs/zfs/zfs.c:1137: check 12 passed (feature flags)
grub-core/fs/zfs/zfs.c:1878: zio_read: E 0: size 2048/512
grub-core/fs/zfs/zfs.c:1899: endian = -1
grub-core/fs/zfs/zfs.c:595: dva=1, 84427f4
grub-core/fs/zfs/zfs.c:2681: endian = -1, blkid=0
grub-core/fs/zfs/zfs.c:2023: endian = -1
grub-core/fs/zfs/zfs.c:2054: endian = -1
grub-core/fs/zfs/zfs.c:1878: zio_read: E 0: size 16384/512
grub-core/fs/zfs/zfs.c:1899: endian = -1
grub-core/fs/zfs/zfs.c:595: dva=1, 84427f3
grub-core/fs/zfs/zfs.c:2023: endian = 1
grub-core/fs/zfs/zfs.c:2049: endian = 1
grub-core/fs/zfs/zfs.c:1878: zio_read: E 0: size 16384/2048
grub-core/fs/zfs/zfs.c:1899: endian = 1
grub-core/fs/zfs/zfs.c:595: dva=4, 84427e6
grub-core/fs/zfs/zfs.c:2685: alive
grub-core/fs/zfs/zfs.c:2496: looking for 'features_for_read'
grub-core/fs/zfs/zfs.c:2023: endian = 1
grub-core/fs/zfs/zfs.c:2049: endian = 1
grub-core/fs/zfs/zfs.c:1878: zio_read: E 0: size 1024/512
grub-core/fs/zfs/zfs.c:1899: endian = 1
grub-core/fs/zfs/zfs.c:595: dva=1, 52635c1
grub-core/fs/zfs/zfs.c:2506: zap read
grub-core/fs/zfs/zfs.c:2510: micro zap
grub-core/fs/zfs/zfs.c:2513: returned 0
grub-core/fs/zfs/zfs.c:2023: endian = 1
grub-core/fs/zfs/zfs.c:2049: endian = 1
grub-core/fs/zfs/zfs.c:1878: zio_read: E 0: size 512/512
grub-core/fs/zfs/zfs.c:1899: endian = 1
grub-core/fs/zfs/zfs.c:595: dva=1, 17
grub-core/fs/zfs/zfs.c:2112: zap: name = org.illumos:lz4_compress, value = 1, cd = 0
grub-core/fs/zfs/zfs.c:2112: zap: name = com.joyent:multi_vdev_crash_dump, value = 0, cd = 0
grub-core/fs/zfs/zfs.c:2112: zap: name = com.delphix:hole_birth, value = 1, cd = 0
grub-core/fs/zfs/zfs.c:2112: zap: name = com.delphix:extensible_dataset, value = 0, cd = 0
grub-core/fs/zfs/zfs.c:2112: zap: name = com.delphix:embedded_data, value = 1, cd = 0
grub-core/fs/zfs/zfs.c:2112: zap: name = , value = 0, cd = 0
grub-core/fs/zfs/zfs.c:2112: zap: name = , value = 0, cd = 0
grub-core/fs/zfs/zfs.c:3258: alive
grub-core/fs/zfs/zfs.c:3070: endian = 1
grub-core/fs/zfs/zfs.c:2681: endian = 1, blkid=0
grub-core/fs/zfs/zfs.c:2023: endian = 1
grub-core/fs/zfs/zfs.c:2054: endian = 1
grub-core/fs/zfs/zfs.c:1878: zio_read: E 0: size 16384/512
grub-core/fs/zfs/zfs.c:1899: endian = 1
grub-core/fs/zfs/zfs.c:595: dva=1, 84427f3
grub-core/fs/zfs/zfs.c:2023: endian = 1
grub-core/fs/zfs/zfs.c:2049: endian = 1
grub-core/fs/zfs/zfs.c:1878: zio_read: E 0: size 16384/2048
grub-core/fs/zfs/zfs.c:1899: endian = 1
grub-core/fs/zfs/zfs.c:595: dva=4, 84427e6
grub-core/fs/zfs/zfs.c:2685: alive
grub-core/fs/zfs/zfs.c:3077: alive
grub-core/fs/zfs/zfs.c:2496: looking for 'root_dataset'
grub-core/fs/zfs/zfs.c:2023: endian = 1
grub-core/fs/zfs/zfs.c:2049: endian = 1
grub-core/fs/zfs/zfs.c:1878: zio_read: E 0: size 1024/512
grub-core/fs/zfs/zfs.c:1899: endian = 1
grub-core/fs/zfs/zfs.c:595: dva=1, 52635c1
grub-core/fs/zfs/zfs.c:2506: zap read
grub-core/fs/zfs/zfs.c:2510: micro zap
grub-core/fs/zfs/zfs.c:2513: returned 0
grub-core/fs/zfs/zfs.c:3083: alive
grub-core/fs/zfs/zfs.c:3089: alive
grub-core/fs/zfs/zfs.c:3267: alive
grub-core/fs/zfs/zfs.c:3271: endian = 0
grub-core/fs/zfs/zfs.c:3281: endian = 1
grub-core/fs/zfs/zfs.c:3135: endian = 1
grub-core/fs/zfs/zfs.c:1878: zio_read: E 0: size 2048/512
grub-core/fs/zfs/zfs.c:1899: endian = 1
grub-core/fs/zfs/zfs.c:595: dva=1, 4c00011
grub-core/fs/zfs/zfs.c:3361: endian = 1
grub-core/fs/zfs/zfs.c:3135: endian = 1
grub-core/fs/zfs/zfs.c:1878: zio_read: E 0: size 2048/512
grub-core/fs/zfs/zfs.c:1899: endian = 1
grub-core/fs/zfs/zfs.c:595: dva=1, 4c00011
grub-core/fs/zfs/zfs.c:2681: endian = 1, blkid=0
grub-core/fs/zfs/zfs.c:2023: endian = 1
grub-core/fs/zfs/zfs.c:2054: endian = 1
grub-core/fs/zfs/zfs.c:1878: zio_read: E 0: size 16384/512
grub-core/fs/zfs/zfs.c:1899: endian = 1
grub-core/fs/zfs/zfs.c:595: dva=1, 526351a
grub-core/fs/zfs/zfs.c:2023: endian = 1
grub-core/fs/zfs/zfs.c:2054: endian = 1
grub-core/fs/zfs/zfs.c:1878: zio_read: E 0: size 16384/512
grub-core/fs/zfs/zfs.c:1899: endian = 1
grub-core/fs/zfs/zfs.c:595: dva=1, 5263519
grub-core/fs/zfs/zfs.c:2023: endian = 1
grub-core/fs/zfs/zfs.c:2054: endian = 1
grub-core/fs/zfs/zfs.c:1878: zio_read: E 0: size 16384/512
grub-core/fs/zfs/zfs.c:1899: endian = 1
grub-core/fs/zfs/zfs.c:595: dva=1, 5263518
grub-core/fs/zfs/zfs.c:2023: endian = 1
grub-core/fs/zfs/zfs.c:2054: endian = 1
grub-core/fs/zfs/zfs.c:1878: zio_read: E 0: size 16384/512
grub-core/fs/zfs/zfs.c:1899: endian = 1
grub-core/fs/zfs/zfs.c:595: dva=1, 5263517
grub-core/fs/zfs/zfs.c:2023: endian = 1
grub-core/fs/zfs/zfs.c:2054: endian = 1
grub-core/fs/zfs/zfs.c:1878: zio_read: E 0: size 16384/512
grub-core/fs/zfs/zfs.c:1899: endian = 1
grub-core/fs/zfs/zfs.c:595: dva=1, 5263516
grub-core/fs/zfs/zfs.c:2023: endian = 1
grub-core/fs/zfs/zfs.c:2054: endian = 1
grub-core/fs/zfs/zfs.c:1878: zio_read: E 0: size 16384/512
grub-core/fs/zfs/zfs.c:1899: endian = 1
grub-core/fs/zfs/zfs.c:595: dva=1, 5263515
grub-core/fs/zfs/zfs.c:2023: endian = 1
grub-core/fs/zfs/zfs.c:2049: endian = 1
grub-core/fs/zfs/zfs.c:1878: zio_read: E 0: size 16384/1024
grub-core/fs/zfs/zfs.c:1899: endian = 1
grub-core/fs/zfs/zfs.c:595: dva=2, 5263513
grub-core/fs/zfs/zfs.c:2685: alive
grub-core/fs/zfs/zfs.c:2496: looking for 'ROOT'
grub-core/fs/zfs/zfs.c:2023: endian = 1
grub-core/fs/zfs/zfs.c:2049: endian = 1
grub-core/fs/zfs/zfs.c:1878: zio_read: E 0: size 1024/512
grub-core/fs/zfs/zfs.c:1899: endian = 1
grub-core/fs/zfs/zfs.c:595: dva=1, 0
grub-core/fs/zfs/zfs.c:2506: zap read
grub-core/fs/zfs/zfs.c:2510: micro zap
grub-core/fs/zfs/zfs.c:2513: returned 0
grub-core/fs/zfs/zfs.c:1192: label ok 0
grub-core/fs/zfs/zfs.c:1007: check 2 passed
grub-core/fs/zfs/zfs.c:1018: check 3 passed
grub-core/fs/zfs/zfs.c:1025: check 4 passed
grub-core/fs/zfs/zfs.c:1035: check 6 passed
grub-core/fs/zfs/zfs.c:1043: check 7 passed
grub-core/fs/zfs/zfs.c:1054: check 8 passed
grub-core/fs/zfs/zfs.c:1064: check 9 passed
grub-core/fs/zfs/zfs.c:1086: check 11 passed
grub-core/fs/zfs/zfs.c:1112: check 10 passed
grub-core/fs/zfs/zfs.c:1128: str=com.delphix:hole_birth
grub-core/fs/zfs/zfs.c:1128: str=com.delphix:embedded_data
grub-core/fs/zfs/zfs.c:1137: check 12 passed (feature flags)
grub-core/fs/zfs/zfs.c:1878: zio_read: E 0: size 2048/512
grub-core/fs/zfs/zfs.c:1899: endian = -1
grub-core/fs/zfs/zfs.c:595: dva=1, 84427f4
grub-core/fs/zfs/zfs.c:2681: endian = -1, blkid=0
grub-core/fs/zfs/zfs.c:2023: endian = -1
grub-core/fs/zfs/zfs.c:2054: endian = -1
grub-core/fs/zfs/zfs.c:1878: zio_read: E 0: size 16384/512
grub-core/fs/zfs/zfs.c:1899: endian = -1
grub-core/fs/zfs/zfs.c:595: dva=1, 84427f3
grub-core/fs/zfs/zfs.c:2023: endian = 1
grub-core/fs/zfs/zfs.c:2049: endian = 1
grub-core/fs/zfs/zfs.c:1878: zio_read: E 0: size 16384/2048
grub-core/fs/zfs/zfs.c:1899: endian = 1
grub-core/fs/zfs/zfs.c:595: dva=4, 84427e6
grub-core/fs/zfs/zfs.c:2685: alive
grub-core/fs/zfs/zfs.c:2496: looking for 'features_for_read'
grub-core/fs/zfs/zfs.c:2023: endian = 1
grub-core/fs/zfs/zfs.c:2049: endian = 1
grub-core/fs/zfs/zfs.c:1878: zio_read: E 0: size 1024/512
grub-core/fs/zfs/zfs.c:1899: endian = 1
grub-core/fs/zfs/zfs.c:595: dva=1, 52635c1
grub-core/fs/zfs/zfs.c:2506: zap read
grub-core/fs/zfs/zfs.c:2510: micro zap
grub-core/fs/zfs/zfs.c:2513: returned 0
grub-core/fs/zfs/zfs.c:2023: endian = 1
grub-core/fs/zfs/zfs.c:2049: endian = 1
grub-core/fs/zfs/zfs.c:1878: zio_read: E 0: size 512/512
grub-core/fs/zfs/zfs.c:1899: endian = 1
grub-core/fs/zfs/zfs.c:595: dva=1, 17
grub-core/fs/zfs/zfs.c:2112: zap: name = org.illumos:lz4_compress, value = 1, cd = 0
grub-core/fs/zfs/zfs.c:2112: zap: name = com.joyent:multi_vdev_crash_dump, value = 0, cd = 0
grub-core/fs/zfs/zfs.c:2112: zap: name = com.delphix:hole_birth, value = 1, cd = 0
grub-core/fs/zfs/zfs.c:2112: zap: name = com.delphix:extensible_dataset, value = 0, cd = 0
grub-core/fs/zfs/zfs.c:2112: zap: name = com.delphix:embedded_data, value = 1, cd = 0
grub-core/fs/zfs/zfs.c:2112: zap: name = , value = 0, cd = 0
grub-core/fs/zfs/zfs.c:2112: zap: name = , value = 0, cd = 0
grub-core/fs/zfs/zfs.c:3256: fsname = '/ROOT/default' snapname='(null)' filename = '/boot/kernel/zfs.ko'
grub-core/fs/zfs/zfs.c:3258: alive
grub-core/fs/zfs/zfs.c:3070: endian = 1
grub-core/fs/zfs/zfs.c:2681: endian = 1, blkid=0
grub-core/fs/zfs/zfs.c:2023: endian = 1
grub-core/fs/zfs/zfs.c:2054: endian = 1
grub-core/fs/zfs/zfs.c:1878: zio_read: E 0: size 16384/512
grub-core/fs/zfs/zfs.c:1899: endian = 1
grub-core/fs/zfs/zfs.c:595: dva=1, 84427f3
grub-core/fs/zfs/zfs.c:2023: endian = 1
grub-core/fs/zfs/zfs.c:2049: endian = 1
grub-core/fs/zfs/zfs.c:1878: zio_read: E 0: size 16384/2048
grub-core/fs/zfs/zfs.c:1899: endian = 1
grub-core/fs/zfs/zfs.c:595: dva=4, 84427e6
grub-core/fs/zfs/zfs.c:2685: alive
grub-core/fs/zfs/zfs.c:3077: alive
grub-core/fs/zfs/zfs.c:2496: looking for 'root_dataset'
grub-core/fs/zfs/zfs.c:2023: endian = 1
grub-core/fs/zfs/zfs.c:2049: endian = 1
grub-core/fs/zfs/zfs.c:1878: zio_read: E 0: size 1024/512
grub-core/fs/zfs/zfs.c:1899: endian = 1
grub-core/fs/zfs/zfs.c:595: dva=1, 52635c1
grub-core/fs/zfs/zfs.c:2506: zap read
grub-core/fs/zfs/zfs.c:2510: micro zap
grub-core/fs/zfs/zfs.c:2513: returned 0
grub-core/fs/zfs/zfs.c:3083: alive
grub-core/fs/zfs/zfs.c:3089: alive
grub-core/fs/zfs/zfs.c:2496: looking for 'ROOT'
grub-core/fs/zfs/zfs.c:2023: endian = 1
grub-core/fs/zfs/zfs.c:2049: endian = 1
grub-core/fs/zfs/zfs.c:1878: zio_read: E 1: size 512/105
grub-core/fs/zfs/zfs.c:1899: endian = 1
grub-core/fs/zfs/zfs.c:2506: zap read
grub-core/fs/zfs/zfs.c:2510: micro zap
grub-core/fs/zfs/zfs.c:2513: returned 0
grub-core/fs/zfs/zfs.c:2681: endian = 1, blkid=1
grub-core/fs/zfs/zfs.c:2023: endian = 1
grub-core/fs/zfs/zfs.c:2054: endian = 1
grub-core/fs/zfs/zfs.c:1878: zio_read: E 0: size 16384/512
grub-core/fs/zfs/zfs.c:1899: endian = 1
grub-core/fs/zfs/zfs.c:595: dva=1, 84427f3
grub-core/fs/zfs/zfs.c:2023: endian = 1
grub-core/fs/zfs/zfs.c:2049: endian = 1
grub-core/fs/zfs/zfs.c:1878: zio_read: E 0: size 16384/4096
grub-core/fs/zfs/zfs.c:1899: endian = 1
grub-core/fs/zfs/zfs.c:595: dva=8, 84336d7
grub-core/fs/zfs/zfs.c:2685: alive
grub-core/fs/zfs/zfs.c:2496: looking for 'default'
grub-core/fs/zfs/zfs.c:2023: endian = 1
grub-core/fs/zfs/zfs.c:2049: endian = 1
grub-core/fs/zfs/zfs.c:1878: zio_read: E 1: size 512/61
grub-core/fs/zfs/zfs.c:1899: endian = 1
grub-core/fs/zfs/zfs.c:2506: zap read
grub-core/fs/zfs/zfs.c:2510: micro zap
grub-core/fs/zfs/zfs.c:2513: returned 0
grub-core/fs/zfs/zfs.c:3267: alive
grub-core/fs/zfs/zfs.c:3271: endian = 0
grub-core/fs/zfs/zfs.c:3281: endian = 1
grub-core/fs/zfs/zfs.c:3135: endian = 1
grub-core/fs/zfs/zfs.c:1878: zio_read: E 0: size 2048/512
grub-core/fs/zfs/zfs.c:1899: endian = 1
grub-core/fs/zfs/zfs.c:595: dva=1, 844277f
grub-core/fs/zfs/zfs.c:3361: endian = 1
grub-core/fs/zfs/zfs.c:2681: endian = 1, blkid=0
grub-core/fs/zfs/zfs.c:2023: endian = 1
grub-core/fs/zfs/zfs.c:2054: endian = 1
grub-core/fs/zfs/zfs.c:1878: zio_read: E 0: size 16384/512
grub-core/fs/zfs/zfs.c:1899: endian = 1
grub-core/fs/zfs/zfs.c:595: dva=1, 844277b
grub-core/fs/zfs/zfs.c:2023: endian = 1
grub-core/fs/zfs/zfs.c:2054: endian = 1
grub-core/fs/zfs/zfs.c:1878: zio_read: E 0: size 16384/512
grub-core/fs/zfs/zfs.c:1899: endian = 1
grub-core/fs/zfs/zfs.c:595: dva=1, 844277a
grub-core/fs/zfs/zfs.c:2023: endian = 1
grub-core/fs/zfs/zfs.c:2054: endian = 1
grub-core/fs/zfs/zfs.c:1878: zio_read: E 0: size 16384/512
grub-core/fs/zfs/zfs.c:1899: endian = 1
grub-core/fs/zfs/zfs.c:595: dva=1, 8442779
grub-core/fs/zfs/zfs.c:2023: endian = 1
grub-core/fs/zfs/zfs.c:2054: endian = 1
grub-core/fs/zfs/zfs.c:1878: zio_read: E 0: size 16384/512
grub-core/fs/zfs/zfs.c:1899: endian = 1
grub-core/fs/zfs/zfs.c:595: dva=1, 8442778
grub-core/fs/zfs/zfs.c:2023: endian = 1
grub-core/fs/zfs/zfs.c:2054: endian = 1
grub-core/fs/zfs/zfs.c:1878: zio_read: E 0: size 16384/7680
grub-core/fs/zfs/zfs.c:1899: endian = 1
grub-core/fs/zfs/zfs.c:595: dva=f, 8442740
grub-core/fs/zfs/zfs.c:2023: endian = 1
grub-core/fs/zfs/zfs.c:2054: endian = 1
grub-core/fs/zfs/zfs.c:1878: zio_read: E 0: size 16384/7168
grub-core/fs/zfs/zfs.c:1899: endian = 1
grub-core/fs/zfs/zfs.c:595: dva=e, 8442732
grub-core/fs/zfs/zfs.c:2023: endian = 1
grub-core/fs/zfs/zfs.c:2049: endian = 1
grub-core/fs/zfs/zfs.c:1878: zio_read: E 0: size 16384/3584
grub-core/fs/zfs/zfs.c:1899: endian = 1
grub-core/fs/zfs/zfs.c:595: dva=7, 844272b
grub-core/fs/zfs/zfs.c:2685: alive
grub-core/fs/zfs/zfs.c:2496: looking for 'VERSION'
grub-core/fs/zfs/zfs.c:2023: endian = 1
grub-core/fs/zfs/zfs.c:2049: endian = 1
grub-core/fs/zfs/zfs.c:1878: zio_read: E 0: size 1024/512
grub-core/fs/zfs/zfs.c:1899: endian = 1
grub-core/fs/zfs/zfs.c:595: dva=1, 231
grub-core/fs/zfs/zfs.c:2506: zap read
grub-core/fs/zfs/zfs.c:2510: micro zap
grub-core/fs/zfs/zfs.c:2513: returned 0
grub-core/fs/zfs/zfs.c:2496: looking for 'casesensitivity'
grub-core/fs/zfs/zfs.c:2023: endian = 1
grub-core/fs/zfs/zfs.c:2049: endian = 1
grub-core/fs/zfs/zfs.c:1878: zio_read: E 0: size 1024/512
grub-core/fs/zfs/zfs.c:1899: endian = 1
grub-core/fs/zfs/zfs.c:595: dva=1, 231
grub-core/fs/zfs/zfs.c:2506: zap read
grub-core/fs/zfs/zfs.c:2510: micro zap
grub-core/fs/zfs/zfs.c:2513: returned 0
grub-core/fs/zfs/zfs.c:2496: looking for 'ROOT'
grub-core/fs/zfs/zfs.c:2023: endian = 1
grub-core/fs/zfs/zfs.c:2049: endian = 1
grub-core/fs/zfs/zfs.c:1878: zio_read: E 0: size 1024/512
grub-core/fs/zfs/zfs.c:1899: endian = 1
grub-core/fs/zfs/zfs.c:595: dva=1, 231
grub-core/fs/zfs/zfs.c:2506: zap read
grub-core/fs/zfs/zfs.c:2510: micro zap
grub-core/fs/zfs/zfs.c:2513: returned 0
grub-core/fs/zfs/zfs.c:2496: looking for 'boot'
grub-core/fs/zfs/zfs.c:2023: endian = 1
grub-core/fs/zfs/zfs.c:2049: endian = 1
grub-core/fs/zfs/zfs.c:1878: zio_read: E 0: size 2560/1024
grub-core/fs/zfs/zfs.c:1899: endian = 1
grub-core/fs/zfs/zfs.c:595: dva=2, 8400244
grub-core/fs/zfs/zfs.c:2506: zap read
grub-core/fs/zfs/zfs.c:2510: micro zap
grub-core/fs/zfs/zfs.c:2513: returned 0
grub-core/fs/zfs/zfs.c:2496: looking for 'kernel'
grub-core/fs/zfs/zfs.c:2023: endian = 1
grub-core/fs/zfs/zfs.c:2049: endian = 1
grub-core/fs/zfs/zfs.c:1878: zio_read: E 0: size 3072/1024
grub-core/fs/zfs/zfs.c:1899: endian = 1
grub-core/fs/zfs/zfs.c:595: dva=2, 542c6b2
grub-core/fs/zfs/zfs.c:2506: zap read
grub-core/fs/zfs/zfs.c:2510: micro zap
grub-core/fs/zfs/zfs.c:2513: returned 0
grub-core/fs/zfs/zfs.c:2681: endian = 1, blkid=4288
grub-core/fs/zfs/zfs.c:2023: endian = 1
grub-core/fs/zfs/zfs.c:2054: endian = 1
grub-core/fs/zfs/zfs.c:1878: zio_read: E 0: size 16384/512
grub-core/fs/zfs/zfs.c:1899: endian = 1
grub-core/fs/zfs/zfs.c:595: dva=1, 844277b
grub-core/fs/zfs/zfs.c:2023: endian = 1
grub-core/fs/zfs/zfs.c:2054: endian = 1
grub-core/fs/zfs/zfs.c:1878: zio_read: E 0: size 16384/512
grub-core/fs/zfs/zfs.c:1899: endian = 1
grub-core/fs/zfs/zfs.c:595: dva=1, 844277a
grub-core/fs/zfs/zfs.c:2023: endian = 1
grub-core/fs/zfs/zfs.c:2054: endian = 1
grub-core/fs/zfs/zfs.c:1878: zio_read: E 0: size 16384/512
grub-core/fs/zfs/zfs.c:1899: endian = 1
grub-core/fs/zfs/zfs.c:595: dva=1, 8442779
grub-core/fs/zfs/zfs.c:2023: endian = 1
grub-core/fs/zfs/zfs.c:2054: endian = 1
grub-core/fs/zfs/zfs.c:1878: zio_read: E 0: size 16384/512
grub-core/fs/zfs/zfs.c:1899: endian = 1
grub-core/fs/zfs/zfs.c:595: dva=1, 8442778
grub-core/fs/zfs/zfs.c:2023: endian = 1
grub-core/fs/zfs/zfs.c:2054: endian = 1
grub-core/fs/zfs/zfs.c:1878: zio_read: E 0: size 16384/4096
grub-core/fs/zfs/zfs.c:1899: endian = 1
grub-core/fs/zfs/zfs.c:595: dva=8, 84336c7
grub-core/fs/zfs/zfs.c:2023: endian = 1
grub-core/fs/zfs/zfs.c:2054: endian = 1
grub-core/fs/zfs/zfs.c:1878: zio_read: E 0: size 16384/4608
grub-core/fs/zfs/zfs.c:1899: endian = 1
grub-core/fs/zfs/zfs.c:595: dva=9, 844241a
grub-core/fs/zfs/zfs.c:2023: endian = 1
grub-core/fs/zfs/zfs.c:2049: endian = 1
grub-core/fs/zfs/zfs.c:1878: zio_read: E 0: size 16384/1024
grub-core/fs/zfs/zfs.c:1899: endian = 1
grub-core/fs/zfs/zfs.c:595: dva=2, 84022f7
grub-core/fs/zfs/zfs.c:2685: alive
grub-core/fs/zfs/zfs.c:2496: looking for 'zfs.ko'
grub-core/fs/zfs/zfs.c:2023: endian = 1
grub-core/fs/zfs/zfs.c:2049: endian = 1
grub-core/fs/zfs/zfs.c:1878: zio_read: E 0: size 98304/16896
grub-core/fs/zfs/zfs.c:1899: endian = 1
grub-core/fs/zfs/zfs.c:595: dva=21, 11d4093
grub-core/fs/zfs/zfs.c:2506: zap read
grub-core/fs/zfs/zfs.c:2510: micro zap
grub-core/fs/zfs/zfs.c:2513: returned 5



Kostya Berger <bergerkos>
Tue 05 May 2015 01:57:15 PM UTC, comment #17: 

Yes, I applied some parts manually. Here's the output:

grub-core/fs/zfs/zfs.c:1192: label ok 0
grub-core/fs/zfs/zfs.c:1007: check 2 passed
grub-core/fs/zfs/zfs.c:1018: check 3 passed
grub-core/fs/zfs/zfs.c:1025: check 4 passed
grub-core/fs/zfs/zfs.c:1035: check 6 passed
grub-core/fs/zfs/zfs.c:1043: check 7 passed
grub-core/fs/zfs/zfs.c:1054: check 8 passed
grub-core/fs/zfs/zfs.c:1064: check 9 passed
grub-core/fs/zfs/zfs.c:1086: check 11 passed
grub-core/fs/zfs/zfs.c:1112: check 10 passed
grub-core/fs/zfs/zfs.c:1128: str=com.delphix:hole_birth
grub-core/fs/zfs/zfs.c:1128: str=com.delphix:embedded_data
grub-core/fs/zfs/zfs.c:1137: check 12 passed (feature flags)
grub-core/fs/zfs/zfs.c:1878: zio_read: E 0: size 2048/512
grub-core/fs/zfs/zfs.c:1899: endian = -1
grub-core/fs/zfs/zfs.c:595: dva=1, 843edd6
grub-core/fs/zfs/zfs.c:2681: endian = -1, blkid=0
grub-core/fs/zfs/zfs.c:2023: endian = -1
grub-core/fs/zfs/zfs.c:2054: endian = -1
grub-core/fs/zfs/zfs.c:1878: zio_read: E 0: size 16384/512
grub-core/fs/zfs/zfs.c:1899: endian = -1
grub-core/fs/zfs/zfs.c:595: dva=1, 843edd5
grub-core/fs/zfs/zfs.c:2023: endian = 1
grub-core/fs/zfs/zfs.c:2049: endian = 1
grub-core/fs/zfs/zfs.c:1878: zio_read: E 0: size 16384/2048
grub-core/fs/zfs/zfs.c:1899: endian = 1
grub-core/fs/zfs/zfs.c:595: dva=4, 843edc1
grub-core/fs/zfs/zfs.c:2685: alive
grub-core/fs/zfs/zfs.c:2496: looking for 'features_for_read'
grub-core/fs/zfs/zfs.c:2023: endian = 1
grub-core/fs/zfs/zfs.c:2049: endian = 1
grub-core/fs/zfs/zfs.c:1878: zio_read: E 0: size 1024/512
grub-core/fs/zfs/zfs.c:1899: endian = 1
grub-core/fs/zfs/zfs.c:595: dva=1, 52635c1
grub-core/fs/zfs/zfs.c:2506: zap read
grub-core/fs/zfs/zfs.c:2510: micro zap
grub-core/fs/zfs/zfs.c:2513: returned 0
grub-core/fs/zfs/zfs.c:2023: endian = 1
grub-core/fs/zfs/zfs.c:2049: endian = 1
grub-core/fs/zfs/zfs.c:1878: zio_read: E 0: size 512/512
grub-core/fs/zfs/zfs.c:1899: endian = 1
grub-core/fs/zfs/zfs.c:595: dva=1, 17
grub-core/fs/zfs/zfs.c:2112: zap: name = org.illumos:lz4_compress, value = 1, cd = 0
grub-core/fs/zfs/zfs.c:2112: zap: name = com.joyent:multi_vdev_crash_dump, value = 0, cd = 0
grub-core/fs/zfs/zfs.c:2112: zap: name = com.delphix:hole_birth, value = 1, cd = 0
grub-core/fs/zfs/zfs.c:2112: zap: name = com.delphix:extensible_dataset, value = 0, cd = 0
grub-core/fs/zfs/zfs.c:2112: zap: name = com.delphix:embedded_data, value = 1, cd = 0
grub-core/fs/zfs/zfs.c:2112: zap: name = , value = 0, cd = 0
grub-core/fs/zfs/zfs.c:2112: zap: name = , value = 0, cd = 0
grub-core/fs/zfs/zfs.c:3258: alive
grub-core/fs/zfs/zfs.c:3070: endian = 1
grub-core/fs/zfs/zfs.c:2681: endian = 1, blkid=0
grub-core/fs/zfs/zfs.c:2023: endian = 1
grub-core/fs/zfs/zfs.c:2054: endian = 1
grub-core/fs/zfs/zfs.c:1878: zio_read: E 0: size 16384/512
grub-core/fs/zfs/zfs.c:1899: endian = 1
grub-core/fs/zfs/zfs.c:595: dva=1, 843edd5
grub-core/fs/zfs/zfs.c:2023: endian = 1
grub-core/fs/zfs/zfs.c:2049: endian = 1
grub-core/fs/zfs/zfs.c:1878: zio_read: E 0: size 16384/2048
grub-core/fs/zfs/zfs.c:1899: endian = 1
grub-core/fs/zfs/zfs.c:595: dva=4, 843edc1
grub-core/fs/zfs/zfs.c:2685: alive
grub-core/fs/zfs/zfs.c:3077: alive
grub-core/fs/zfs/zfs.c:2496: looking for 'root_dataset'
grub-core/fs/zfs/zfs.c:2023: endian = 1
grub-core/fs/zfs/zfs.c:2049: endian = 1
grub-core/fs/zfs/zfs.c:1878: zio_read: E 0: size 1024/512
grub-core/fs/zfs/zfs.c:1899: endian = 1
grub-core/fs/zfs/zfs.c:595: dva=1, 52635c1
grub-core/fs/zfs/zfs.c:2506: zap read
grub-core/fs/zfs/zfs.c:2510: micro zap
grub-core/fs/zfs/zfs.c:2513: returned 0
grub-core/fs/zfs/zfs.c:3083: alive
grub-core/fs/zfs/zfs.c:3089: alive
grub-core/fs/zfs/zfs.c:3267: alive
grub-core/fs/zfs/zfs.c:3271: endian = 0
grub-core/fs/zfs/zfs.c:3281: endian = 1
grub-core/fs/zfs/zfs.c:3135: endian = 1
grub-core/fs/zfs/zfs.c:1878: zio_read: E 0: size 2048/512
grub-core/fs/zfs/zfs.c:1899: endian = 1
grub-core/fs/zfs/zfs.c:595: dva=1, 4c00011
grub-core/fs/zfs/zfs.c:3361: endian = 1
grub-core/fs/zfs/zfs.c:3135: endian = 1
grub-core/fs/zfs/zfs.c:1878: zio_read: E 0: size 2048/512
grub-core/fs/zfs/zfs.c:1899: endian = 1
grub-core/fs/zfs/zfs.c:595: dva=1, 4c00011
grub-core/fs/zfs/zfs.c:2681: endian = 1, blkid=0
grub-core/fs/zfs/zfs.c:2023: endian = 1
grub-core/fs/zfs/zfs.c:2054: endian = 1
grub-core/fs/zfs/zfs.c:1878: zio_read: E 0: size 16384/512
grub-core/fs/zfs/zfs.c:1899: endian = 1
grub-core/fs/zfs/zfs.c:595: dva=1, 526351a
grub-core/fs/zfs/zfs.c:2023: endian = 1
grub-core/fs/zfs/zfs.c:2054: endian = 1
grub-core/fs/zfs/zfs.c:1878: zio_read: E 0: size 16384/512
grub-core/fs/zfs/zfs.c:1899: endian = 1
grub-core/fs/zfs/zfs.c:595: dva=1, 5263519
grub-core/fs/zfs/zfs.c:2023: endian = 1
grub-core/fs/zfs/zfs.c:2054: endian = 1
grub-core/fs/zfs/zfs.c:1878: zio_read: E 0: size 16384/512
grub-core/fs/zfs/zfs.c:1899: endian = 1
grub-core/fs/zfs/zfs.c:595: dva=1, 5263518
grub-core/fs/zfs/zfs.c:2023: endian = 1
grub-core/fs/zfs/zfs.c:2054: endian = 1
grub-core/fs/zfs/zfs.c:1878: zio_read: E 0: size 16384/512
grub-core/fs/zfs/zfs.c:1899: endian = 1
grub-core/fs/zfs/zfs.c:595: dva=1, 5263517
grub-core/fs/zfs/zfs.c:2023: endian = 1
grub-core/fs/zfs/zfs.c:2054: endian = 1
grub-core/fs/zfs/zfs.c:1878: zio_read: E 0: size 16384/512
grub-core/fs/zfs/zfs.c:1899: endian = 1
grub-core/fs/zfs/zfs.c:595: dva=1, 5263516
grub-core/fs/zfs/zfs.c:2023: endian = 1
grub-core/fs/zfs/zfs.c:2054: endian = 1
grub-core/fs/zfs/zfs.c:1878: zio_read: E 0: size 16384/512
grub-core/fs/zfs/zfs.c:1899: endian = 1
grub-core/fs/zfs/zfs.c:595: dva=1, 5263515
grub-core/fs/zfs/zfs.c:2023: endian = 1
grub-core/fs/zfs/zfs.c:2049: endian = 1
grub-core/fs/zfs/zfs.c:1878: zio_read: E 0: size 16384/1024
grub-core/fs/zfs/zfs.c:1899: endian = 1
grub-core/fs/zfs/zfs.c:595: dva=2, 5263513
grub-core/fs/zfs/zfs.c:2685: alive
grub-core/fs/zfs/zfs.c:2496: looking for 'ROOT'
grub-core/fs/zfs/zfs.c:2023: endian = 1
grub-core/fs/zfs/zfs.c:2049: endian = 1
grub-core/fs/zfs/zfs.c:1878: zio_read: E 0: size 1024/512
grub-core/fs/zfs/zfs.c:1899: endian = 1
grub-core/fs/zfs/zfs.c:595: dva=1, 0
grub-core/fs/zfs/zfs.c:2506: zap read
grub-core/fs/zfs/zfs.c:2510: micro zap
grub-core/fs/zfs/zfs.c:2513: returned 0
grub-core/fs/zfs/zfs.c:1192: label ok 0
grub-core/fs/zfs/zfs.c:1007: check 2 passed
grub-core/fs/zfs/zfs.c:1018: check 3 passed
grub-core/fs/zfs/zfs.c:1025: check 4 passed
grub-core/fs/zfs/zfs.c:1035: check 6 passed
grub-core/fs/zfs/zfs.c:1043: check 7 passed
grub-core/fs/zfs/zfs.c:1054: check 8 passed
grub-core/fs/zfs/zfs.c:1064: check 9 passed
grub-core/fs/zfs/zfs.c:1086: check 11 passed
grub-core/fs/zfs/zfs.c:1112: check 10 passed
grub-core/fs/zfs/zfs.c:1128: str=com.delphix:hole_birth
grub-core/fs/zfs/zfs.c:1128: str=com.delphix:embedded_data
grub-core/fs/zfs/zfs.c:1137: check 12 passed (feature flags)
grub-core/fs/zfs/zfs.c:1878: zio_read: E 0: size 2048/512
grub-core/fs/zfs/zfs.c:1899: endian = -1
grub-core/fs/zfs/zfs.c:595: dva=1, 843edd6
grub-core/fs/zfs/zfs.c:2681: endian = -1, blkid=0
grub-core/fs/zfs/zfs.c:2023: endian = -1
grub-core/fs/zfs/zfs.c:2054: endian = -1
grub-core/fs/zfs/zfs.c:1878: zio_read: E 0: size 16384/512
grub-core/fs/zfs/zfs.c:1899: endian = -1
grub-core/fs/zfs/zfs.c:595: dva=1, 843edd5
grub-core/fs/zfs/zfs.c:2023: endian = 1
grub-core/fs/zfs/zfs.c:2049: endian = 1
grub-core/fs/zfs/zfs.c:1878: zio_read: E 0: size 16384/2048
grub-core/fs/zfs/zfs.c:1899: endian = 1
grub-core/fs/zfs/zfs.c:595: dva=4, 843edc1
grub-core/fs/zfs/zfs.c:2685: alive
grub-core/fs/zfs/zfs.c:2496: looking for 'features_for_read'
grub-core/fs/zfs/zfs.c:2023: endian = 1
grub-core/fs/zfs/zfs.c:2049: endian = 1
grub-core/fs/zfs/zfs.c:1878: zio_read: E 0: size 1024/512
grub-core/fs/zfs/zfs.c:1899: endian = 1
grub-core/fs/zfs/zfs.c:595: dva=1, 52635c1
grub-core/fs/zfs/zfs.c:2506: zap read
grub-core/fs/zfs/zfs.c:2510: micro zap
grub-core/fs/zfs/zfs.c:2513: returned 0
grub-core/fs/zfs/zfs.c:2023: endian = 1
grub-core/fs/zfs/zfs.c:2049: endian = 1
grub-core/fs/zfs/zfs.c:1878: zio_read: E 0: size 512/512
grub-core/fs/zfs/zfs.c:1899: endian = 1
grub-core/fs/zfs/zfs.c:595: dva=1, 17
grub-core/fs/zfs/zfs.c:2112: zap: name = org.illumos:lz4_compress, value = 1, cd = 0
grub-core/fs/zfs/zfs.c:2112: zap: name = com.joyent:multi_vdev_crash_dump, value = 0, cd = 0
grub-core/fs/zfs/zfs.c:2112: zap: name = com.delphix:hole_birth, value = 1, cd = 0
grub-core/fs/zfs/zfs.c:2112: zap: name = com.delphix:extensible_dataset, value = 0, cd = 0
grub-core/fs/zfs/zfs.c:2112: zap: name = com.delphix:embedded_data, value = 1, cd = 0
grub-core/fs/zfs/zfs.c:2112: zap: name = , value = 0, cd = 0
grub-core/fs/zfs/zfs.c:2112: zap: name = , value = 0, cd = 0
grub-core/fs/zfs/zfs.c:3258: alive
grub-core/fs/zfs/zfs.c:3070: endian = 1
grub-core/fs/zfs/zfs.c:2681: endian = 1, blkid=0
grub-core/fs/zfs/zfs.c:2023: endian = 1
grub-core/fs/zfs/zfs.c:2054: endian = 1
grub-core/fs/zfs/zfs.c:1878: zio_read: E 0: size 16384/512
grub-core/fs/zfs/zfs.c:1899: endian = 1
grub-core/fs/zfs/zfs.c:595: dva=1, 843edd5
grub-core/fs/zfs/zfs.c:2023: endian = 1
grub-core/fs/zfs/zfs.c:2049: endian = 1
grub-core/fs/zfs/zfs.c:1878: zio_read: E 0: size 16384/2048
grub-core/fs/zfs/zfs.c:1899: endian = 1
grub-core/fs/zfs/zfs.c:595: dva=4, 843edc1
grub-core/fs/zfs/zfs.c:2685: alive
grub-core/fs/zfs/zfs.c:3077: alive
grub-core/fs/zfs/zfs.c:2496: looking for 'root_dataset'
grub-core/fs/zfs/zfs.c:2023: endian = 1
grub-core/fs/zfs/zfs.c:2049: endian = 1
grub-core/fs/zfs/zfs.c:1878: zio_read: E 0: size 1024/512
grub-core/fs/zfs/zfs.c:1899: endian = 1
grub-core/fs/zfs/zfs.c:595: dva=1, 52635c1
grub-core/fs/zfs/zfs.c:2506: zap read
grub-core/fs/zfs/zfs.c:2510: micro zap
grub-core/fs/zfs/zfs.c:2513: returned 0
grub-core/fs/zfs/zfs.c:3083: alive
grub-core/fs/zfs/zfs.c:3089: alive
grub-core/fs/zfs/zfs.c:2496: looking for 'ROOT'
grub-core/fs/zfs/zfs.c:2023: endian = 1
grub-core/fs/zfs/zfs.c:2049: endian = 1
grub-core/fs/zfs/zfs.c:1878: zio_read: E 1: size 512/105
grub-core/fs/zfs/zfs.c:1899: endian = 1
grub-core/fs/zfs/zfs.c:2506: zap read
grub-core/fs/zfs/zfs.c:2510: micro zap
grub-core/fs/zfs/zfs.c:2513: returned 0
grub-core/fs/zfs/zfs.c:2681: endian = 1, blkid=1
grub-core/fs/zfs/zfs.c:2023: endian = 1
grub-core/fs/zfs/zfs.c:2054: endian = 1
grub-core/fs/zfs/zfs.c:1878: zio_read: E 0: size 16384/512
grub-core/fs/zfs/zfs.c:1899: endian = 1
grub-core/fs/zfs/zfs.c:595: dva=1, 843edd5
grub-core/fs/zfs/zfs.c:2023: endian = 1
grub-core/fs/zfs/zfs.c:2049: endian = 1
grub-core/fs/zfs/zfs.c:1878: zio_read: E 0: size 16384/3584
grub-core/fs/zfs/zfs.c:1899: endian = 1
grub-core/fs/zfs/zfs.c:595: dva=7, 843edce
grub-core/fs/zfs/zfs.c:2685: alive
grub-core/fs/zfs/zfs.c:2496: looking for 'goot'
grub-core/fs/zfs/zfs.c:2023: endian = 1
grub-core/fs/zfs/zfs.c:2049: endian = 1
grub-core/fs/zfs/zfs.c:1878: zio_read: E 1: size 512/61
grub-core/fs/zfs/zfs.c:1899: endian = 1
grub-core/fs/zfs/zfs.c:2506: zap read
grub-core/fs/zfs/zfs.c:2510: micro zap
grub-core/fs/zfs/zfs.c:2513: returned 5

Kostya Berger <bergerkos>
Tue 05 May 2015 01:49:23 PM UTC, comment #16: 

so, do i understand correctly, you were able to apply the patch and it did not solve it? if so, can you post debug output from it?

Toomas Soome <tsoome>
Tue 05 May 2015 01:39:15 PM UTC, comment #15: 

Sorry, the patch doesn't help. BTW, the patch as you've posted it is malformed. Must be a copy-pasting error...

Still, as i mentioned: when I copy the problematic files into a separate directory /boot/custom, they're loaded by grub and everything works fine, as long as this bug is concerned.

And I doubt it has to do with feature flags, because my original zpool where I noticed this problem first, has no feature flags activated except only those already supported by the 2.02~beta2 release. And with that release this problem doesn't exist.

Kostya Berger <bergerkos>
Tue 05 May 2015 12:55:51 PM UTC, comment #14: 

can you grab patch from https://lists.gnu.org/archive/html/grub-devel/2015-04/msg00055.html and test it against version from git?

from this log, I would suspect the most plausible reason is missing support for extendible dataset feature, but this patch is not integrated yet.

 (my original answer was done via mail and rejected as im not in list:D)

Toomas Soome <tsoome>
Tue 05 May 2015 12:35:00 PM UTC, comment #13: 

OK, this time things are "better": I can copy the files linux.ko, opensolaris.ko, zfs.ko (along with the corresponsing *.symbols files) over to a small custom directory, THEN grub2 can see and load these modules.
At the time of the original bug report even this couldn't do the trick.

Kostya Berger <bergerkos>
Tue 05 May 2015 09:21:10 AM UTC, comment #12: 

Can you still install using 2.02~beta2 (to exclude some changes in your environment)? If yes, please open separate bug report for grub-install issue; include full command invocation and its output as well grub-install --debug output.

@toomas, I hope you can make sense of zfs output :)

Andrei Borzenkov <arvidjaar>
Group Member
Tue 05 May 2015 08:44:23 AM UTC, comment #11: 

Here is my log with grub-fstest -d zfs (for the problematic file):
grub-core/fs/zfs/zfs.c:1190: label ok 0
grub-core/fs/zfs/zfs.c:1005: check 2 passed
grub-core/fs/zfs/zfs.c:1016: check 3 passed
grub-core/fs/zfs/zfs.c:1023: check 4 passed
grub-core/fs/zfs/zfs.c:1033: check 6 passed
grub-core/fs/zfs/zfs.c:1041: check 7 passed
grub-core/fs/zfs/zfs.c:1052: check 8 passed
grub-core/fs/zfs/zfs.c:1062: check 9 passed
grub-core/fs/zfs/zfs.c:1084: check 11 passed
grub-core/fs/zfs/zfs.c:1110: check 10 passed
grub-core/fs/zfs/zfs.c:1126: str=com.delphix:hole_birth
grub-core/fs/zfs/zfs.c:1126: str=com.delphix:embedded_data
grub-core/fs/zfs/zfs.c:1135: check 12 passed (feature flags)
grub-core/fs/zfs/zfs.c:1876: zio_read: E 0: size 2048/2048
grub-core/fs/zfs/zfs.c:1897: endian = -1
grub-core/fs/zfs/zfs.c:593: dva=4, 783216e
grub-core/fs/zfs/zfs.c:2679: endian = -1, blkid=0
grub-core/fs/zfs/zfs.c:2021: endian = -1
grub-core/fs/zfs/zfs.c:2052: endian = -1
grub-core/fs/zfs/zfs.c:1876: zio_read: E 0: size 16384/16384
grub-core/fs/zfs/zfs.c:1897: endian = -1
grub-core/fs/zfs/zfs.c:593: dva=20, 780fb4e
grub-core/fs/zfs/zfs.c:2021: endian = 1
grub-core/fs/zfs/zfs.c:2047: endian = 1
grub-core/fs/zfs/zfs.c:1876: zio_read: E 0: size 16384/16384
grub-core/fs/zfs/zfs.c:1897: endian = 1
grub-core/fs/zfs/zfs.c:593: dva=20, 780faee
grub-core/fs/zfs/zfs.c:2683: alive
grub-core/fs/zfs/zfs.c:2494: looking for 'features_for_read'
grub-core/fs/zfs/zfs.c:2021: endian = 1
grub-core/fs/zfs/zfs.c:2047: endian = 1
grub-core/fs/zfs/zfs.c:1876: zio_read: E 0: size 1024/512
grub-core/fs/zfs/zfs.c:1897: endian = 1
grub-core/fs/zfs/zfs.c:593: dva=1, 52635c1
grub-core/fs/zfs/zfs.c:2504: zap read
grub-core/fs/zfs/zfs.c:2508: micro zap
grub-core/fs/zfs/zfs.c:2511: returned 0
grub-core/fs/zfs/zfs.c:2021: endian = 1
grub-core/fs/zfs/zfs.c:2047: endian = 1
grub-core/fs/zfs/zfs.c:1876: zio_read: E 0: size 512/512
grub-core/fs/zfs/zfs.c:1897: endian = 1
grub-core/fs/zfs/zfs.c:593: dva=1, 17
grub-core/fs/zfs/zfs.c:2110: zap: name = org.illumos:lz4_compress, value = 1, cd = 0
grub-core/fs/zfs/zfs.c:2110: zap: name = com.joyent:multi_vdev_crash_dump, value = 0, cd = 0
grub-core/fs/zfs/zfs.c:2110: zap: name = com.delphix:hole_birth, value = 1, cd = 0
grub-core/fs/zfs/zfs.c:2110: zap: name = com.delphix:extensible_dataset, value = 0, cd = 0
grub-core/fs/zfs/zfs.c:2110: zap: name = com.delphix:embedded_data, value = 1, cd = 0
grub-core/fs/zfs/zfs.c:2110: zap: name = , value = 0, cd = 0
grub-core/fs/zfs/zfs.c:2110: zap: name = , value = 0, cd = 0
grub-core/fs/zfs/zfs.c:3256: alive
grub-core/fs/zfs/zfs.c:3068: endian = 1
grub-core/fs/zfs/zfs.c:2679: endian = 1, blkid=0
grub-core/fs/zfs/zfs.c:2021: endian = 1
grub-core/fs/zfs/zfs.c:2052: endian = 1
grub-core/fs/zfs/zfs.c:1876: zio_read: E 0: size 16384/16384
grub-core/fs/zfs/zfs.c:1897: endian = 1
grub-core/fs/zfs/zfs.c:593: dva=20, 780fb4e
grub-core/fs/zfs/zfs.c:2021: endian = 1
grub-core/fs/zfs/zfs.c:2047: endian = 1
grub-core/fs/zfs/zfs.c:1876: zio_read: E 0: size 16384/16384
grub-core/fs/zfs/zfs.c:1897: endian = 1
grub-core/fs/zfs/zfs.c:593: dva=20, 780faee
grub-core/fs/zfs/zfs.c:2683: alive
grub-core/fs/zfs/zfs.c:3075: alive
grub-core/fs/zfs/zfs.c:2494: looking for 'root_dataset'
grub-core/fs/zfs/zfs.c:2021: endian = 1
grub-core/fs/zfs/zfs.c:2047: endian = 1
grub-core/fs/zfs/zfs.c:1876: zio_read: E 0: size 1024/512
grub-core/fs/zfs/zfs.c:1897: endian = 1
grub-core/fs/zfs/zfs.c:593: dva=1, 52635c1
grub-core/fs/zfs/zfs.c:2504: zap read
grub-core/fs/zfs/zfs.c:2508: micro zap
grub-core/fs/zfs/zfs.c:2511: returned 0
grub-core/fs/zfs/zfs.c:3081: alive
grub-core/fs/zfs/zfs.c:3087: alive
grub-core/fs/zfs/zfs.c:3265: alive
grub-core/fs/zfs/zfs.c:3269: endian = 0
grub-core/fs/zfs/zfs.c:3279: endian = 1
grub-core/fs/zfs/zfs.c:3133: endian = 1
grub-core/fs/zfs/zfs.c:1876: zio_read: E 0: size 2048/512
grub-core/fs/zfs/zfs.c:1897: endian = 1
grub-core/fs/zfs/zfs.c:593: dva=1, 4c00011
grub-core/fs/zfs/zfs.c:3359: endian = 1
grub-core/fs/zfs/zfs.c:3133: endian = 1
grub-core/fs/zfs/zfs.c:1876: zio_read: E 0: size 2048/512
grub-core/fs/zfs/zfs.c:1897: endian = 1
grub-core/fs/zfs/zfs.c:593: dva=1, 4c00011
grub-core/fs/zfs/zfs.c:2679: endian = 1, blkid=0
grub-core/fs/zfs/zfs.c:2021: endian = 1
grub-core/fs/zfs/zfs.c:2052: endian = 1
grub-core/fs/zfs/zfs.c:1876: zio_read: E 0: size 16384/512
grub-core/fs/zfs/zfs.c:1897: endian = 1
grub-core/fs/zfs/zfs.c:593: dva=1, 526351a
grub-core/fs/zfs/zfs.c:2021: endian = 1
grub-core/fs/zfs/zfs.c:2052: endian = 1
grub-core/fs/zfs/zfs.c:1876: zio_read: E 0: size 16384/512
grub-core/fs/zfs/zfs.c:1897: endian = 1
grub-core/fs/zfs/zfs.c:593: dva=1, 5263519
grub-core/fs/zfs/zfs.c:2021: endian = 1
grub-core/fs/zfs/zfs.c:2052: endian = 1
grub-core/fs/zfs/zfs.c:1876: zio_read: E 0: size 16384/512
grub-core/fs/zfs/zfs.c:1897: endian = 1
grub-core/fs/zfs/zfs.c:593: dva=1, 5263518
grub-core/fs/zfs/zfs.c:2021: endian = 1
grub-core/fs/zfs/zfs.c:2052: endian = 1
grub-core/fs/zfs/zfs.c:1876: zio_read: E 0: size 16384/512
grub-core/fs/zfs/zfs.c:1897: endian = 1
grub-core/fs/zfs/zfs.c:593: dva=1, 5263517
grub-core/fs/zfs/zfs.c:2021: endian = 1
grub-core/fs/zfs/zfs.c:2052: endian = 1
grub-core/fs/zfs/zfs.c:1876: zio_read: E 0: size 16384/512
grub-core/fs/zfs/zfs.c:1897: endian = 1
grub-core/fs/zfs/zfs.c:593: dva=1, 5263516
grub-core/fs/zfs/zfs.c:2021: endian = 1
grub-core/fs/zfs/zfs.c:2052: endian = 1
grub-core/fs/zfs/zfs.c:1876: zio_read: E 0: size 16384/512
grub-core/fs/zfs/zfs.c:1897: endian = 1
grub-core/fs/zfs/zfs.c:593: dva=1, 5263515
grub-core/fs/zfs/zfs.c:2021: endian = 1
grub-core/fs/zfs/zfs.c:2047: endian = 1
grub-core/fs/zfs/zfs.c:1876: zio_read: E 0: size 16384/1024
grub-core/fs/zfs/zfs.c:1897: endian = 1
grub-core/fs/zfs/zfs.c:593: dva=2, 5263513
grub-core/fs/zfs/zfs.c:2683: alive
grub-core/fs/zfs/zfs.c:2494: looking for 'ROOT'
grub-core/fs/zfs/zfs.c:2021: endian = 1
grub-core/fs/zfs/zfs.c:2047: endian = 1
grub-core/fs/zfs/zfs.c:1876: zio_read: E 0: size 1024/512
grub-core/fs/zfs/zfs.c:1897: endian = 1
grub-core/fs/zfs/zfs.c:593: dva=1, 0
grub-core/fs/zfs/zfs.c:2504: zap read
grub-core/fs/zfs/zfs.c:2508: micro zap
grub-core/fs/zfs/zfs.c:2511: returned 0
grub-core/fs/zfs/zfs.c:1190: label ok 0
grub-core/fs/zfs/zfs.c:1005: check 2 passed
grub-core/fs/zfs/zfs.c:1016: check 3 passed
grub-core/fs/zfs/zfs.c:1023: check 4 passed
grub-core/fs/zfs/zfs.c:1033: check 6 passed
grub-core/fs/zfs/zfs.c:1041: check 7 passed
grub-core/fs/zfs/zfs.c:1052: check 8 passed
grub-core/fs/zfs/zfs.c:1062: check 9 passed
grub-core/fs/zfs/zfs.c:1084: check 11 passed
grub-core/fs/zfs/zfs.c:1110: check 10 passed
grub-core/fs/zfs/zfs.c:1126: str=com.delphix:hole_birth
grub-core/fs/zfs/zfs.c:1126: str=com.delphix:embedded_data
grub-core/fs/zfs/zfs.c:1135: check 12 passed (feature flags)
grub-core/fs/zfs/zfs.c:1876: zio_read: E 0: size 2048/2048
grub-core/fs/zfs/zfs.c:1897: endian = -1
grub-core/fs/zfs/zfs.c:593: dva=4, 783216e
grub-core/fs/zfs/zfs.c:2679: endian = -1, blkid=0
grub-core/fs/zfs/zfs.c:2021: endian = -1
grub-core/fs/zfs/zfs.c:2052: endian = -1
grub-core/fs/zfs/zfs.c:1876: zio_read: E 0: size 16384/16384
grub-core/fs/zfs/zfs.c:1897: endian = -1
grub-core/fs/zfs/zfs.c:593: dva=20, 780fb4e
grub-core/fs/zfs/zfs.c:2021: endian = 1
grub-core/fs/zfs/zfs.c:2047: endian = 1
grub-core/fs/zfs/zfs.c:1876: zio_read: E 0: size 16384/16384
grub-core/fs/zfs/zfs.c:1897: endian = 1
grub-core/fs/zfs/zfs.c:593: dva=20, 780faee
grub-core/fs/zfs/zfs.c:2683: alive
grub-core/fs/zfs/zfs.c:2494: looking for 'features_for_read'
grub-core/fs/zfs/zfs.c:2021: endian = 1
grub-core/fs/zfs/zfs.c:2047: endian = 1
grub-core/fs/zfs/zfs.c:1876: zio_read: E 0: size 1024/512
grub-core/fs/zfs/zfs.c:1897: endian = 1
grub-core/fs/zfs/zfs.c:593: dva=1, 52635c1
grub-core/fs/zfs/zfs.c:2504: zap read
grub-core/fs/zfs/zfs.c:2508: micro zap
grub-core/fs/zfs/zfs.c:2511: returned 0
grub-core/fs/zfs/zfs.c:2021: endian = 1
grub-core/fs/zfs/zfs.c:2047: endian = 1
grub-core/fs/zfs/zfs.c:1876: zio_read: E 0: size 512/512
grub-core/fs/zfs/zfs.c:1897: endian = 1
grub-core/fs/zfs/zfs.c:593: dva=1, 17
grub-core/fs/zfs/zfs.c:2110: zap: name = org.illumos:lz4_compress, value = 1, cd = 0
grub-core/fs/zfs/zfs.c:2110: zap: name = com.joyent:multi_vdev_crash_dump, value = 0, cd = 0
grub-core/fs/zfs/zfs.c:2110: zap: name = com.delphix:hole_birth, value = 1, cd = 0
grub-core/fs/zfs/zfs.c:2110: zap: name = com.delphix:extensible_dataset, value = 0, cd = 0
grub-core/fs/zfs/zfs.c:2110: zap: name = com.delphix:embedded_data, value = 1, cd = 0
grub-core/fs/zfs/zfs.c:2110: zap: name = , value = 0, cd = 0
grub-core/fs/zfs/zfs.c:2110: zap: name = , value = 0, cd = 0
grub-core/fs/zfs/zfs.c:3254: fsname = '/ROOT/default' snapname='(null)' filename = '/boot/kernel/zfs.ko'
grub-core/fs/zfs/zfs.c:3256: alive
grub-core/fs/zfs/zfs.c:3068: endian = 1
grub-core/fs/zfs/zfs.c:2679: endian = 1, blkid=0
grub-core/fs/zfs/zfs.c:2021: endian = 1
grub-core/fs/zfs/zfs.c:2052: endian = 1
grub-core/fs/zfs/zfs.c:1876: zio_read: E 0: size 16384/16384
grub-core/fs/zfs/zfs.c:1897: endian = 1
grub-core/fs/zfs/zfs.c:593: dva=20, 780fb4e
grub-core/fs/zfs/zfs.c:2021: endian = 1
grub-core/fs/zfs/zfs.c:2047: endian = 1
grub-core/fs/zfs/zfs.c:1876: zio_read: E 0: size 16384/16384
grub-core/fs/zfs/zfs.c:1897: endian = 1
grub-core/fs/zfs/zfs.c:593: dva=20, 780faee
grub-core/fs/zfs/zfs.c:2683: alive
grub-core/fs/zfs/zfs.c:3075: alive
grub-core/fs/zfs/zfs.c:2494: looking for 'root_dataset'
grub-core/fs/zfs/zfs.c:2021: endian = 1
grub-core/fs/zfs/zfs.c:2047: endian = 1
grub-core/fs/zfs/zfs.c:1876: zio_read: E 0: size 1024/512
grub-core/fs/zfs/zfs.c:1897: endian = 1
grub-core/fs/zfs/zfs.c:593: dva=1, 52635c1
grub-core/fs/zfs/zfs.c:2504: zap read
grub-core/fs/zfs/zfs.c:2508: micro zap
grub-core/fs/zfs/zfs.c:2511: returned 0
grub-core/fs/zfs/zfs.c:3081: alive
grub-core/fs/zfs/zfs.c:3087: alive
grub-core/fs/zfs/zfs.c:2494: looking for 'ROOT'
grub-core/fs/zfs/zfs.c:2021: endian = 1
grub-core/fs/zfs/zfs.c:2047: endian = 1
grub-core/fs/zfs/zfs.c:1876: zio_read: E 1: size 512/105
grub-core/fs/zfs/zfs.c:1897: endian = 1
grub-core/fs/zfs/zfs.c:2504: zap read
grub-core/fs/zfs/zfs.c:2508: micro zap
grub-core/fs/zfs/zfs.c:2511: returned 0
grub-core/fs/zfs/zfs.c:2679: endian = 1, blkid=1
grub-core/fs/zfs/zfs.c:2021: endian = 1
grub-core/fs/zfs/zfs.c:2052: endian = 1
grub-core/fs/zfs/zfs.c:1876: zio_read: E 0: size 16384/16384
grub-core/fs/zfs/zfs.c:1897: endian = 1
grub-core/fs/zfs/zfs.c:593: dva=20, 780fb4e
grub-core/fs/zfs/zfs.c:2021: endian = 1
grub-core/fs/zfs/zfs.c:2047: endian = 1
grub-core/fs/zfs/zfs.c:1876: zio_read: E 0: size 16384/3584
grub-core/fs/zfs/zfs.c:1897: endian = 1
grub-core/fs/zfs/zfs.c:593: dva=7, 783686a
grub-core/fs/zfs/zfs.c:2683: alive
grub-core/fs/zfs/zfs.c:2494: looking for 'default'
grub-core/fs/zfs/zfs.c:2021: endian = 1
grub-core/fs/zfs/zfs.c:2047: endian = 1
grub-core/fs/zfs/zfs.c:1876: zio_read: E 1: size 512/61
grub-core/fs/zfs/zfs.c:1897: endian = 1
grub-core/fs/zfs/zfs.c:2504: zap read
grub-core/fs/zfs/zfs.c:2508: micro zap
grub-core/fs/zfs/zfs.c:2511: returned 0
grub-core/fs/zfs/zfs.c:3265: alive
grub-core/fs/zfs/zfs.c:3269: endian = 0
grub-core/fs/zfs/zfs.c:3279: endian = 1
grub-core/fs/zfs/zfs.c:3133: endian = 1
grub-core/fs/zfs/zfs.c:1876: zio_read: E 0: size 2048/512
grub-core/fs/zfs/zfs.c:1897: endian = 1
grub-core/fs/zfs/zfs.c:593: dva=1, 7836869
grub-core/fs/zfs/zfs.c:3359: endian = 1
grub-core/fs/zfs/zfs.c:2679: endian = 1, blkid=0
grub-core/fs/zfs/zfs.c:2021: endian = 1
grub-core/fs/zfs/zfs.c:2052: endian = 1
grub-core/fs/zfs/zfs.c:1876: zio_read: E 0: size 16384/512
grub-core/fs/zfs/zfs.c:1897: endian = 1
grub-core/fs/zfs/zfs.c:593: dva=1, 7836865
grub-core/fs/zfs/zfs.c:2021: endian = 1
grub-core/fs/zfs/zfs.c:2052: endian = 1
grub-core/fs/zfs/zfs.c:1876: zio_read: E 0: size 16384/512
grub-core/fs/zfs/zfs.c:1897: endian = 1
grub-core/fs/zfs/zfs.c:593: dva=1, 7836864
grub-core/fs/zfs/zfs.c:2021: endian = 1
grub-core/fs/zfs/zfs.c:2052: endian = 1
grub-core/fs/zfs/zfs.c:1876: zio_read: E 0: size 16384/512
grub-core/fs/zfs/zfs.c:1897: endian = 1
grub-core/fs/zfs/zfs.c:593: dva=1, 7836863
grub-core/fs/zfs/zfs.c:2021: endian = 1
grub-core/fs/zfs/zfs.c:2052: endian = 1
grub-core/fs/zfs/zfs.c:1876: zio_read: E 0: size 16384/512
grub-core/fs/zfs/zfs.c:1897: endian = 1
grub-core/fs/zfs/zfs.c:593: dva=1, 7836862
grub-core/fs/zfs/zfs.c:2021: endian = 1
grub-core/fs/zfs/zfs.c:2052: endian = 1
grub-core/fs/zfs/zfs.c:1876: zio_read: E 0: size 16384/7680
grub-core/fs/zfs/zfs.c:1897: endian = 1
grub-core/fs/zfs/zfs.c:593: dva=f, 783682c
grub-core/fs/zfs/zfs.c:2021: endian = 1
grub-core/fs/zfs/zfs.c:2052: endian = 1
grub-core/fs/zfs/zfs.c:1876: zio_read: E 0: size 16384/7168
grub-core/fs/zfs/zfs.c:1897: endian = 1
grub-core/fs/zfs/zfs.c:593: dva=e, 7835bd6
grub-core/fs/zfs/zfs.c:2021: endian = 1
grub-core/fs/zfs/zfs.c:2047: endian = 1
grub-core/fs/zfs/zfs.c:1876: zio_read: E 0: size 16384/3584
grub-core/fs/zfs/zfs.c:1897: endian = 1
grub-core/fs/zfs/zfs.c:593: dva=7, 7835bcf
grub-core/fs/zfs/zfs.c:2683: alive
grub-core/fs/zfs/zfs.c:2494: looking for 'VERSION'
grub-core/fs/zfs/zfs.c:2021: endian = 1
grub-core/fs/zfs/zfs.c:2047: endian = 1
grub-core/fs/zfs/zfs.c:1876: zio_read: E 0: size 1024/512
grub-core/fs/zfs/zfs.c:1897: endian = 1
grub-core/fs/zfs/zfs.c:593: dva=1, 231
grub-core/fs/zfs/zfs.c:2504: zap read
grub-core/fs/zfs/zfs.c:2508: micro zap
grub-core/fs/zfs/zfs.c:2511: returned 0
grub-core/fs/zfs/zfs.c:2494: looking for 'casesensitivity'
grub-core/fs/zfs/zfs.c:2021: endian = 1
grub-core/fs/zfs/zfs.c:2047: endian = 1
grub-core/fs/zfs/zfs.c:1876: zio_read: E 0: size 1024/512
grub-core/fs/zfs/zfs.c:1897: endian = 1
grub-core/fs/zfs/zfs.c:593: dva=1, 231
grub-core/fs/zfs/zfs.c:2504: zap read
grub-core/fs/zfs/zfs.c:2508: micro zap
grub-core/fs/zfs/zfs.c:2511: returned 0
grub-core/fs/zfs/zfs.c:2494: looking for 'ROOT'
grub-core/fs/zfs/zfs.c:2021: endian = 1
grub-core/fs/zfs/zfs.c:2047: endian = 1
grub-core/fs/zfs/zfs.c:1876: zio_read: E 0: size 1024/512
grub-core/fs/zfs/zfs.c:1897: endian = 1
grub-core/fs/zfs/zfs.c:593: dva=1, 231
grub-core/fs/zfs/zfs.c:2504: zap read
grub-core/fs/zfs/zfs.c:2508: micro zap
grub-core/fs/zfs/zfs.c:2511: returned 0
grub-core/fs/zfs/zfs.c:2494: looking for 'boot'
grub-core/fs/zfs/zfs.c:2021: endian = 1
grub-core/fs/zfs/zfs.c:2047: endian = 1
grub-core/fs/zfs/zfs.c:1876: zio_read: E 0: size 2560/1024
grub-core/fs/zfs/zfs.c:1897: endian = 1
grub-core/fs/zfs/zfs.c:593: dva=2, 780038a
grub-core/fs/zfs/zfs.c:2504: zap read
grub-core/fs/zfs/zfs.c:2508: micro zap
grub-core/fs/zfs/zfs.c:2511: returned 0
grub-core/fs/zfs/zfs.c:2494: looking for 'kernel'
grub-core/fs/zfs/zfs.c:2021: endian = 1
grub-core/fs/zfs/zfs.c:2047: endian = 1
grub-core/fs/zfs/zfs.c:1876: zio_read: E 0: size 3072/1024
grub-core/fs/zfs/zfs.c:1897: endian = 1
grub-core/fs/zfs/zfs.c:593: dva=2, 9e
grub-core/fs/zfs/zfs.c:2504: zap read
grub-core/fs/zfs/zfs.c:2508: micro zap
grub-core/fs/zfs/zfs.c:2511: returned 0
grub-core/fs/zfs/zfs.c:2679: endian = 1, blkid=4288
grub-core/fs/zfs/zfs.c:2021: endian = 1
grub-core/fs/zfs/zfs.c:2052: endian = 1
grub-core/fs/zfs/zfs.c:1876: zio_read: E 0: size 16384/512
grub-core/fs/zfs/zfs.c:1897: endian = 1
grub-core/fs/zfs/zfs.c:593: dva=1, 7836865
grub-core/fs/zfs/zfs.c:2021: endian = 1
grub-core/fs/zfs/zfs.c:2052: endian = 1
grub-core/fs/zfs/zfs.c:1876: zio_read: E 0: size 16384/512
grub-core/fs/zfs/zfs.c:1897: endian = 1
grub-core/fs/zfs/zfs.c:593: dva=1, 7836864
grub-core/fs/zfs/zfs.c:2021: endian = 1
grub-core/fs/zfs/zfs.c:2052: endian = 1
grub-core/fs/zfs/zfs.c:1876: zio_read: E 0: size 16384/512
grub-core/fs/zfs/zfs.c:1897: endian = 1
grub-core/fs/zfs/zfs.c:593: dva=1, 7836863
grub-core/fs/zfs/zfs.c:2021: endian = 1
grub-core/fs/zfs/zfs.c:2052: endian = 1
grub-core/fs/zfs/zfs.c:1876: zio_read: E 0: size 16384/512
grub-core/fs/zfs/zfs.c:1897: endian = 1
grub-core/fs/zfs/zfs.c:593: dva=1, 7836862
grub-core/fs/zfs/zfs.c:2021: endian = 1
grub-core/fs/zfs/zfs.c:2052: endian = 1
grub-core/fs/zfs/zfs.c:1876: zio_read: E 0: size 16384/4096
grub-core/fs/zfs/zfs.c:1897: endian = 1
grub-core/fs/zfs/zfs.c:593: dva=8, 7831d78
grub-core/fs/zfs/zfs.c:2021: endian = 1
grub-core/fs/zfs/zfs.c:2052: endian = 1
grub-core/fs/zfs/zfs.c:1876: zio_read: E 0: size 16384/4608
grub-core/fs/zfs/zfs.c:1897: endian = 1
grub-core/fs/zfs/zfs.c:593: dva=9, 7836859
grub-core/fs/zfs/zfs.c:2021: endian = 1
grub-core/fs/zfs/zfs.c:2047: endian = 1
grub-core/fs/zfs/zfs.c:1876: zio_read: E 0: size 16384/1024
grub-core/fs/zfs/zfs.c:1897: endian = 1
grub-core/fs/zfs/zfs.c:593: dva=2, 1219b90
grub-core/fs/zfs/zfs.c:2683: alive
grub-core/fs/zfs/zfs.c:2494: looking for 'zfs.ko'
grub-core/fs/zfs/zfs.c:2021: endian = 1
grub-core/fs/zfs/zfs.c:2047: endian = 1
grub-core/fs/zfs/zfs.c:1876: zio_read: E 0: size 98304/16896
grub-core/fs/zfs/zfs.c:1897: endian = 1
grub-core/fs/zfs/zfs.c:593: dva=21, 11d4093
grub-core/fs/zfs/zfs.c:2504: zap read
grub-core/fs/zfs/zfs.c:2508: micro zap
grub-core/fs/zfs/zfs.c:2511: returned 5

On the other hand, it was able to list aac.ko in the same directory. So with this version of grub2 all feature flags seem to be available to grub2 (I have them all activated in this particular pool).
However, this time I wasn't able to install it on a full-disk ZFS filesystem:
grub-install: warning: Attempting to install GRUB to a disk with multiple partition labels.  This is not supported yet..
sbin/grub-install: error: filesystem `zfs' doesn't support blocklists.

With the last official beta release it WAS possible.

Kostya Berger <bergerkos>
Mon 04 May 2015 08:36:24 AM UTC, comment #10: 

can you please post zfs debug outputs; from grub itself you can set debug=zfs, with grub-fstest you can use -d zfs switch. also note that this log is pretty large, so, with grub itself you may wanna add serial output (if you have connection) to grab the whole log (terminal_output --append serial).

also note that few days ago few updates to zfs module were commited to git, however the extendible dataset feature support is still in queue.

the "missing" files while browsing zfs are not related to number of entries in directory tree, but interpreting the internal data structures - there are different features used how zfs does store the data, and older readers are unable to use or recognise those features.

Toomas Soome <tsoome>
Thu 19 Mar 2015 06:36:44 PM UTC, comment #9: 

How big is filesystem? Can you make avilable image? Alernatively, if it depends on number of files, may be you can test empty filesystem with single big directory and make image of it? Should be smaller.

Andrei Borzenkov <arvidjaar>
Group Member
Tue 10 Mar 2015 05:03:01 AM UTC, comment #8: 

If problem was introduced after 2.02-beta2 and you can reliably trigger it, the easiest is to use git bisect to find out bad commit.

Andrei Borzenkov <arvidjaar>
Group Member
Sun 08 Mar 2015 09:52:57 PM UTC, comment #7: 

Hm, in case I run it like
(gdb) run /dev/ada1p2 ls /ROOT/kernel/kernel (a file that's recognized by "ls -l" command)

it DOES stop at the given breakpoint.

But if specify the path to a "not found" file (i.e. /ROOT/working/freebsd@/boot/kernel/zfs.ko, it even doesn't stop at the given breakpoint (grub_zfs_open). Instead it reports "Program exited normally". The only meaningful output it gives is "[New LWP 100778]". Does that tell anything?

Kostya Berger <bergerkos>
Sun 08 Mar 2015 08:44:56 PM UTC, comment #6: 

Well, here it beats me. I'm not (yet) a C programmer, so while I can figure out how to set breakpoints in gdb, I don't know how to add "top level printf" in a C program.
And without that gdb only outputs multiple "no debugging symbols found" statement, and finally says "Program exited normally"...

What I did:
gdb grub-fstest
(gdb) b grub_zfs_open
(gdb) run /dev/ada1 ls /ROOT/etc./zfs.ko

I can only add so far, that this problem doesn't exist in grub-2.02-beta2.tar.gz that's available for download at git.savannah.gnu.org/cgit/grub.git .So it was introduced later on.

Kostya Berger <bergerkos>
Sun 08 Mar 2015 05:58:19 AM UTC, comment #5: 

There are no special diagnostic options. You could either use gdb (set break point on grub_zfs_open and follow it) or simply add debugging output. Start with grub_zfs_open in grub-core/fs/zfs/zfs.c, add top level printf to see which branch is followed and drill down until you hit place which fails.

Andrei Borzenkov <arvidjaar>
Group Member
Fri 06 Mar 2015 07:19:22 PM UTC, comment #4: 

What special options for debug output could I use with grub-fstest? Because I use (same as in my grub.cfg):
grub-fstest /dev/ada0p2 ls /ROOT/working/freebsd@/boot/kernel/zfs.ko
which behaves the same as in grub boot prompt.

Kostya Berger <bergerkos>
Fri 06 Mar 2015 05:41:59 PM UTC, comment #3: 

The difference between ls (or completion) and "ls -l" is that the latter tries to open file.

Can you reproduce it using grub-fstest? This would allow using debugger in user space.

Andrei Borzenkov <arvidjaar>
Group Member
Fri 06 Mar 2015 04:33:36 PM UTC, comment #2: 

As of today, it is  the current GIT muster. It says:"up-to-date with origin/master".

Kostya Berger <bergerkos>
Fri 06 Mar 2015 02:26:24 PM UTC, comment #1: 

Obligatory question did you test with current GIT master? If yes, which commit?

Andrei Borzenkov <arvidjaar>
Group Member
Fri 06 Mar 2015 12:44:42 PM UTC, original submission:  

Grub2 "cannot find" a freebsd module on boot.

Configuration: freebsd 10.1 on zfs root, modules situated in the folder $zpool@/boot/kernel.
This may be important: there are 767 $module.ko + $module.ko.symbols pairs in there. All in all 1537 files.

What happens (boot prompt):
grub>ls $zpool@/boot/kernel -- lists ALL the modules found in that folder.

grub>ls -l $zpool@/boot/kernel -- only lists SOME of the modules in the folder and doesn't "see" other ones.

grub>ls $zpool@/boot/kernel/$module.ko -- will only list one that was recognized by the `ls -l` command, for others it returns "file not found" error.

However:
grub>ls $zpool@/boot/kernel/$mymodulename... (press <Tab>) -- will complete the module name all right. But trying to load this one will still return "file not found" error.

And finally: I tried to make a separate folder /boot/myfolder and copy ONLY the three "problematic" modules I need -- grub2 has no problems loading modules from that folder.

These are precisely opensolaris.ko, linux.ko and zfs.ko, but there are also other ones that aren't recognized this way.

Does the "excessive" total number of files in the /boot/kernel folder make grub2 stumble?

Kostya Berger <bergerkos>

 

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

Attached Files
file #34000:  44448v2.patch added by arvidjaar (2KiB - text/x-patch)
file #33998:  grub-fstest.log added by bergerkos (19KiB - text/x-log)
file #33987:  44448.patch added by arvidjaar (668B - text/x-patch)
file #33952:  debug.txt.bz2 added by bergerkos (17KiB - application/x-bzip - compressed debug directory listing)
file #33950:  zfs.c added by bergerkos (110KiB - text/x-csrc - resulting zfs.c (after patching))

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -email is unavailable- added by tsoome (Posted a comment)
  • -email is unavailable- added by arvidjaar (Posted a comment)
  • -email is unavailable- added by bergerkos (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 8 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2015-05-14 arvidjaar StatusNone Fixed
        Open/ClosedOpen Closed
    2015-05-13 arvidjaar Attached File- Added 44448v2.patch, #34000
    2015-05-13 bergerkos Attached File- Added grub-fstest.log, #33998
    2015-05-12 arvidjaar Attached File- Added 44448.patch, #33987
    2015-05-07 bergerkos Attached File- Added debug.txt.bz2, #33952
    2015-05-07 bergerkos Attached File- Added zfs.c, #33950
    2015-05-05 arvidjaar CategoryTerminal Filesystem

    Back to the top

    Powered by Savane 3.13-4448.
    Corresponding source code