wandrien / grub

unofficial mirror with custom patches WIP

Home Page:https://git.savannah.gnu.org/cgit/grub.git/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Poor performance of grub_file_open()

wandrien opened this issue · comments

The fs detection is performed on every grub_file_open(), which is redundant and unnecessary:

grub-core/kern/disk.c:196:disk: Opening `loop0'...
grub-core/kern/fs.c:56:fs: Detecting zfs...
grub-core/fs/zfs/zfs.c:1199:zfs: label ok 0
grub-core/fs/zfs/zfs.c:1199:zfs: label ok 1
grub-core/fs/zfs/zfs.c:1199:zfs: label ok 2
grub-core/fs/zfs/zfs.c:1199:zfs: label ok 3
grub-core/kern/fs.c:79:fs: error: couldn't find a valid label.
grub-core/kern/fs.c:80:fs: zfs detection failed.
grub-core/kern/fs.c:56:fs: Detecting xfs...
grub-core/fs/xfs.c:944:xfs: Reading sb
grub-core/fs/xfs.c:276:xfs: Validating superblock
grub-core/kern/fs.c:79:fs: error: not a XFS filesystem.
grub-core/kern/fs.c:80:fs: xfs detection failed.
grub-core/kern/fs.c:56:fs: Detecting ufs2...
grub-core/kern/fs.c:79:fs: error: not an ufs2 filesystem.
grub-core/kern/fs.c:80:fs: ufs2 detection failed.
grub-core/kern/fs.c:56:fs: Detecting ufs1_be...
grub-core/kern/fs.c:79:fs: error: not an ufs1 filesystem.
grub-core/kern/fs.c:80:fs: ufs1_be detection failed.
grub-core/kern/fs.c:56:fs: Detecting ufs1...
grub-core/kern/fs.c:79:fs: error: not an ufs1 filesystem.
grub-core/kern/fs.c:80:fs: ufs1 detection failed.
grub-core/kern/fs.c:56:fs: Detecting udf...
grub-core/kern/fs.c:79:fs: error: not an UDF filesystem.
grub-core/kern/fs.c:80:fs: udf detection failed.
grub-core/kern/fs.c:56:fs: Detecting tarfs...
grub-core/kern/fs.c:79:fs: error: not a tarfs filesystem.
grub-core/kern/fs.c:80:fs: tarfs detection failed.
grub-core/kern/fs.c:56:fs: Detecting squash4...
grub-core/kern/fs.c:79:fs: error: not squash4.
grub-core/kern/fs.c:80:fs: squash4 detection failed.
grub-core/kern/fs.c:56:fs: Detecting sfs...
grub-core/kern/fs.c:79:fs: error: not a SFS filesystem.
grub-core/kern/fs.c:80:fs: sfs detection failed.
grub-core/kern/fs.c:56:fs: Detecting romfs...
grub-core/kern/fs.c:79:fs: error: too short filesystem.
grub-core/kern/fs.c:80:fs: romfs detection failed.
grub-core/kern/fs.c:56:fs: Detecting reiserfs...
grub-core/kern/fs.c:79:fs: error: not a ReiserFS filesystem.
grub-core/kern/fs.c:80:fs: reiserfs detection failed.
grub-core/kern/fs.c:56:fs: Detecting procfs...
grub-core/kern/fs.c:79:fs: error: not a procfs.
grub-core/kern/fs.c:80:fs: procfs detection failed.
grub-core/kern/fs.c:56:fs: Detecting odc...
grub-core/kern/fs.c:79:fs: error: not a odc filesystem.
grub-core/kern/fs.c:80:fs: odc detection failed.
grub-core/kern/fs.c:56:fs: Detecting ntfs...
grub-core/kern/fs.c:79:fs: error: not an ntfs filesystem.
grub-core/kern/fs.c:80:fs: ntfs detection failed.
grub-core/kern/fs.c:56:fs: Detecting nilfs2...
grub-core/kern/fs.c:79:fs: error: not a nilfs2 filesystem.
grub-core/kern/fs.c:80:fs: nilfs2 detection failed.
grub-core/kern/fs.c:56:fs: Detecting newc...
grub-core/kern/fs.c:79:fs: error: not a newc filesystem.
grub-core/kern/fs.c:80:fs: newc detection failed.
grub-core/kern/fs.c:56:fs: Detecting minix_be...
grub-core/kern/fs.c:79:fs: error: not a minix filesystem.
grub-core/kern/fs.c:80:fs: minix_be detection failed.
grub-core/kern/fs.c:56:fs: Detecting minix3_be...
grub-core/kern/fs.c:79:fs: error: not a minix3 filesystem.
grub-core/kern/fs.c:80:fs: minix3_be detection failed.
grub-core/kern/fs.c:56:fs: Detecting minix3...
grub-core/kern/fs.c:79:fs: error: not a minix3 filesystem.
grub-core/kern/fs.c:80:fs: minix3 detection failed.
grub-core/kern/fs.c:56:fs: Detecting minix2_be...
grub-core/kern/fs.c:79:fs: error: not a minix2 filesystem.
grub-core/kern/fs.c:80:fs: minix2_be detection failed.
grub-core/kern/fs.c:56:fs: Detecting minix2...
grub-core/kern/fs.c:79:fs: error: not a minix2 filesystem.
grub-core/kern/fs.c:80:fs: minix2 detection failed.
grub-core/kern/fs.c:56:fs: Detecting minix...
grub-core/kern/fs.c:79:fs: error: not a minix filesystem.
grub-core/kern/fs.c:80:fs: minix detection failed.
grub-core/kern/fs.c:56:fs: Detecting jfs...
grub-core/kern/fs.c:79:fs: error: not a JFS filesystem.
grub-core/kern/fs.c:80:fs: jfs detection failed.
grub-core/kern/fs.c:56:fs: Detecting iso9660...
grub-core/kern/fs.c:79:fs: error: not a ISO9660 filesystem.
grub-core/kern/fs.c:80:fs: iso9660 detection failed.
grub-core/kern/fs.c:56:fs: Detecting hostfs...
grub-core/kern/fs.c:79:fs: error: not a hostfs.
grub-core/kern/fs.c:80:fs: hostfs detection failed.
grub-core/kern/fs.c:56:fs: Detecting hfsplus...
grub-core/kern/fs.c:79:fs: error: not a HFS+ filesystem.
grub-core/kern/fs.c:80:fs: hfsplus detection failed.
grub-core/kern/fs.c:56:fs: Detecting hfs...
grub-core/kern/fs.c:79:fs: error: not an HFS filesystem.
grub-core/kern/fs.c:80:fs: hfs detection failed.
grub-core/kern/fs.c:56:fs: Detecting fat...
grub-core/kern/fs.c:79:fs: error: not a FAT filesystem.
grub-core/kern/fs.c:80:fs: fat detection failed.
grub-core/kern/fs.c:56:fs: Detecting f2fs...
grub-core/kern/fs.c:79:fs: error: not a F2FS filesystem (no superblock).
grub-core/kern/fs.c:80:fs: f2fs detection failed.
grub-core/kern/fs.c:56:fs: Detecting ext2...
grub-core/kern/disk.c:295:disk: Closing `loop0'.

This issue affects both grub-mount and native GRUB run time environment.

Steps to reproduce:

ls -l (drive_with_linux_installation)/usr/lib
ls -l (drive_with_linux_installation)/usr/lib64