mirror of
https://git.savannah.gnu.org/git/grub.git
synced 2026-10-21 14:59:34 +00:00
ZFS: support inode type embed into its ID
This is a speedup used in some ZFS version. This trips GRUB and makes it unable to access directories. Just skip it for now and revisit if we ever need this speedup. Signed-off-by: Vladimir Serbinenko <phcoder@gmail.com> Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
This commit is contained in:
1 parent
34a3adff82
commit
42a831d746
1 file changed
+4
@@ -73,6 +73,8 @@ GRUB_MOD_LICENSE ("GPLv3+");
|
|||||||
#define DATA_TYPE_NVLIST 19
|
#define DATA_TYPE_NVLIST 19
|
||||||
#define DATA_TYPE_NVLIST_ARRAY 20
|
#define DATA_TYPE_NVLIST_ARRAY 20
|
||||||
|
|
||||||
|
#define DNODE_NUM_MASK 0xffffffffffffULL
|
||||||
|
|
||||||
#ifndef GRUB_UTIL
|
#ifndef GRUB_UTIL
|
||||||
static grub_dl_t my_mod;
|
static grub_dl_t my_mod;
|
||||||
#endif
|
#endif
|
||||||
@@ -2669,6 +2671,8 @@ dnode_get (dnode_end_t * mdn, grub_uint64_t objnum, grub_uint8_t type,
|
|||||||
grub_err_t err;
|
grub_err_t err;
|
||||||
grub_zfs_endian_t endian;
|
grub_zfs_endian_t endian;
|
||||||
|
|
||||||
|
objnum &= DNODE_NUM_MASK;
|
||||||
|
|
||||||
blksz = grub_zfs_to_cpu16 (mdn->dn.dn_datablkszsec,
|
blksz = grub_zfs_to_cpu16 (mdn->dn.dn_datablkszsec,
|
||||||
mdn->endian) << SPA_MINBLOCKSHIFT;
|
mdn->endian) << SPA_MINBLOCKSHIFT;
|
||||||
epbs = zfs_log2 (blksz) - DNODE_SHIFT;
|
epbs = zfs_log2 (blksz) - DNODE_SHIFT;
|
||||||
|
|||||||
Reference in new issue
Block a user