* ~3TB ext4 volume not read correctly by ext2-fs driver in GRUB2 @ 2009-09-07 19:13 Tony Vroon 2009-09-12 13:54 ` Tony Vroon 2010-02-24 10:49 ` Vladimir 'φ-coder/phcoder' Serbinenko 0 siblings, 2 replies; 3+ messages in thread From: Tony Vroon @ 2009-09-07 19:13 UTC (permalink / raw) To: grub-devel [-- Attachment #1: Type: text/plain, Size: 3885 bytes --] Ladies and gentlemen, It would appear that the ext2-fs driver is not reliably able to read directories on my ~3TB / filesystem: /dev/root 3.4T 1.7T 1.6T 52% / /dev/root on / type ext4 (rw,noatime,barrier=1,data=ordered) Whilst doing some troubleshooting over IRC, I was given a debug patch. With this patch applied, I'll show you a working directory entry (/etc) and a non-working directory entry (/boot): prometheus ~ # grub-fstest -d ext2 -v /dev/sda3 ls /etc fs/ext2.c:862: grub_fshelp_dir returning: 9 fs/ext2.c:862: grub_fshelp_dir returning: 9 fs/ext2.c:862: grub_fshelp_dir returning: 9 fs/ext2.c:862: grub_fshelp_dir returning: 9 fs/ext2.c:862: grub_fshelp_dir returning: 9 fs/ext2.c:862: grub_fshelp_dir returning: 9 fs/ext2.c:651: iterating inode size=4096 mode=0x41ed fs/ext2.c:688: got filename: '.', type 2 fs/ext2.c:862: grub_fshelp_dir returning: 0 fs/ext2.c:651: iterating inode size=4096 mode=0x41ed fs/ext2.c:688: got filename: '.', type 2 fs/ext2.c:688: got filename: '..', type 2 fs/ext2.c:688: got filename: 'lost+found', type 2 fs/ext2.c:688: got filename: 'lib', type 7 fs/ext2.c:688: got filename: '.config', type 1 fs/ext2.c:688: got filename: 'sbin', type 2 fs/ext2.c:688: got filename: 'root', type 2 fs/ext2.c:688: got filename: 'mnt', type 2 fs/ext2.c:688: got filename: 'opt', type 2 fs/ext2.c:688: got filename: 'var', type 2 fs/ext2.c:688: got filename: 'usr', type 2 fs/ext2.c:688: got filename: 'dev', type 2 fs/ext2.c:688: got filename: 'lib32', type 2 fs/ext2.c:688: got filename: 'home', type 2 fs/ext2.c:688: got filename: 'tmp', type 2 fs/ext2.c:688: got filename: 'media', type 2 fs/ext2.c:688: got filename: 'sys', type 2 fs/ext2.c:688: got filename: 'cvs', type 2 fs/ext2.c:688: got filename: 'proc', type 2 fs/ext2.c:688: got filename: 'etc', type 2 fs/ext2.c:651: iterating inode size=0 mode=0x0 fs/ext2.c:862: grub_fshelp_dir returning: 0 prometheus ~ # grub-fstest -d ext2 -v /dev/sda3 ls /boot fs/ext2.c:862: grub_fshelp_dir returning: 9 fs/ext2.c:862: grub_fshelp_dir returning: 9 fs/ext2.c:862: grub_fshelp_dir returning: 9 fs/ext2.c:862: grub_fshelp_dir returning: 9 fs/ext2.c:862: grub_fshelp_dir returning: 9 fs/ext2.c:862: grub_fshelp_dir returning: 9 fs/ext2.c:651: iterating inode size=4096 mode=0x41ed fs/ext2.c:688: got filename: '.', type 2 fs/ext2.c:862: grub_fshelp_dir returning: 0 fs/ext2.c:651: iterating inode size=4096 mode=0x41ed fs/ext2.c:688: got filename: '.', type 2 fs/ext2.c:688: got filename: '..', type 2 fs/ext2.c:688: got filename: 'lost+found', type 2 fs/ext2.c:688: got filename: 'lib', type 7 fs/ext2.c:688: got filename: '.config', type 1 fs/ext2.c:688: got filename: 'sbin', type 2 fs/ext2.c:688: got filename: 'root', type 2 fs/ext2.c:688: got filename: 'mnt', type 2 fs/ext2.c:688: got filename: 'opt', type 2 fs/ext2.c:688: got filename: 'var', type 2 fs/ext2.c:688: got filename: 'usr', type 2 fs/ext2.c:688: got filename: 'dev', type 2 fs/ext2.c:688: got filename: 'lib32', type 2 fs/ext2.c:688: got filename: 'home', type 2 fs/ext2.c:688: got filename: 'tmp', type 2 fs/ext2.c:688: got filename: 'media', type 2 fs/ext2.c:688: got filename: 'sys', type 2 fs/ext2.c:688: got filename: 'cvs', type 2 fs/ext2.c:688: got filename: 'proc', type 2 fs/ext2.c:688: got filename: 'etc', type 2 fs/ext2.c:688: got filename: 'lib64', type 2 fs/ext2.c:688: got filename: 'boot', type 2 fs/ext2.c:651: iterating inode size=0 mode=0x0 fs/ext2.c:862: grub_fshelp_dir returning: 0 In order to help troubleshoot this, I can apply patches on top of current SVN, run fstest & test booting for you. Please note that making images of a 3TB drive is not practical and will not reflect the real situation to you. Sorry, but I am not comfortable offering SSH access to random internet strangers. Regards, Tony V. [-- Attachment #2: This is a digitally signed message part --] [-- Type: application/pgp-signature, Size: 198 bytes --] ^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: ~3TB ext4 volume not read correctly by ext2-fs driver in GRUB2 2009-09-07 19:13 ~3TB ext4 volume not read correctly by ext2-fs driver in GRUB2 Tony Vroon @ 2009-09-12 13:54 ` Tony Vroon 2010-02-24 10:49 ` Vladimir 'φ-coder/phcoder' Serbinenko 1 sibling, 0 replies; 3+ messages in thread From: Tony Vroon @ 2009-09-12 13:54 UTC (permalink / raw) To: The development of GRUB 2 [-- Attachment #1: Type: text/plain, Size: 2092 bytes --] On Mon, 2009-09-07 at 20:13 +0100, Tony Vroon wrote: > It would appear that the ext2-fs driver is not reliably able to read > directories on my ~3TB / filesystem: > /dev/root 3.4T 1.7T 1.6T 52% / > /dev/root on / type ext4 (rw,noatime,barrier=1,data=ordered) Specifically, directories with a high inode number (such as boot) are inaccessible: chainsaw@prometheus / $ ls -il total 88 451559425 drwxr-xr-x 2 root root 4096 2009-09-10 22:49 bin 388333569 drwxr-xr-x 3 root root 4096 2009-09-02 23:55 boot 425263105 drwxr-xr-x 4 root root 4096 2009-08-30 16:48 bot 402980865 drwxr-xr-x 20 chainsaw wheel 4096 2009-09-09 21:54 cvs 126 drwxr-xr-x 16 root root 13480 2009-09-10 22:27 dev 411828225 drwxr-xr-x 88 root root 4096 2009-09-12 13:32 etc 303431681 drwxr-xr-x 4 root root 4096 2009-01-10 13:22 home 49153 lrwxrwxrwx 1 root root 5 2009-08-30 07:23 lib -> lib64 223494145 drwxr-xr-x 3 root root 4096 2009-08-30 07:23 lib32 412385281 drwxr-xr-x 11 root root 8192 2009-09-10 22:50 lib64 11 drwx------ 2 root root 16384 2008-05-30 03:41 lost +found 308363265 drwxrwxr-x 9 root wheel 4096 2009-09-10 22:27 media 114933761 drwxr-xr-x 8 root root 4096 2009-08-16 02:18 mnt 127959041 drwxr-xr-x 8 root root 4096 2009-08-31 00:01 opt 1 dr-xr-xr-x 217 root root 0 2009-09-10 22:26 proc 48660481 drwx------ 18 root root 4096 2009-09-12 13:55 root 29343745 drwxr-xr-x 2 root root 4096 2009-09-10 22:50 sbin 1 drwxr-xr-x 12 root root 0 2009-09-10 22:26 sys 307658753 drwxrwxrwt 14 root root 8192 2009-09-12 13:55 tmp 195330049 drwxr-xr-x 17 root root 4096 2009-08-30 07:52 usr 163430401 drwxr-xr-x 14 root root 4096 2009-08-30 02:44 var chainsaw@prometheus / $ Inaccessible directories appear empty but do not provoke any errors (which is why it breaks Grub2 startup rather badly, I have to change prefix, insmod normal, normal, etc) Regards, Tony V. [-- Attachment #2: This is a digitally signed message part --] [-- Type: application/pgp-signature, Size: 198 bytes --] ^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: ~3TB ext4 volume not read correctly by ext2-fs driver in GRUB2 2009-09-07 19:13 ~3TB ext4 volume not read correctly by ext2-fs driver in GRUB2 Tony Vroon 2009-09-12 13:54 ` Tony Vroon @ 2010-02-24 10:49 ` Vladimir 'φ-coder/phcoder' Serbinenko 1 sibling, 0 replies; 3+ messages in thread From: Vladimir 'φ-coder/phcoder' Serbinenko @ 2010-02-24 10:49 UTC (permalink / raw) To: The development of GRUB 2, tony [-- Attachment #1.1: Type: text/plain, Size: 4400 bytes --] Try attached patch Tony Vroon wrote: > Ladies and gentlemen, > > It would appear that the ext2-fs driver is not reliably able to read > directories on my ~3TB / filesystem: > /dev/root 3.4T 1.7T 1.6T 52% / > /dev/root on / type ext4 (rw,noatime,barrier=1,data=ordered) > > Whilst doing some troubleshooting over IRC, I was given a debug patch. > With this patch applied, I'll show you a working directory entry (/etc) > and a non-working directory entry (/boot): > prometheus ~ # grub-fstest -d ext2 -v /dev/sda3 ls /etc > fs/ext2.c:862: grub_fshelp_dir returning: 9 > fs/ext2.c:862: grub_fshelp_dir returning: 9 > fs/ext2.c:862: grub_fshelp_dir returning: 9 > fs/ext2.c:862: grub_fshelp_dir returning: 9 > fs/ext2.c:862: grub_fshelp_dir returning: 9 > fs/ext2.c:862: grub_fshelp_dir returning: 9 > fs/ext2.c:651: iterating inode size=4096 mode=0x41ed > fs/ext2.c:688: got filename: '.', type 2 > fs/ext2.c:862: grub_fshelp_dir returning: 0 > fs/ext2.c:651: iterating inode size=4096 mode=0x41ed > fs/ext2.c:688: got filename: '.', type 2 > fs/ext2.c:688: got filename: '..', type 2 > fs/ext2.c:688: got filename: 'lost+found', type 2 > fs/ext2.c:688: got filename: 'lib', type 7 > fs/ext2.c:688: got filename: '.config', type 1 > fs/ext2.c:688: got filename: 'sbin', type 2 > fs/ext2.c:688: got filename: 'root', type 2 > fs/ext2.c:688: got filename: 'mnt', type 2 > fs/ext2.c:688: got filename: 'opt', type 2 > fs/ext2.c:688: got filename: 'var', type 2 > fs/ext2.c:688: got filename: 'usr', type 2 > fs/ext2.c:688: got filename: 'dev', type 2 > fs/ext2.c:688: got filename: 'lib32', type 2 > fs/ext2.c:688: got filename: 'home', type 2 > fs/ext2.c:688: got filename: 'tmp', type 2 > fs/ext2.c:688: got filename: 'media', type 2 > fs/ext2.c:688: got filename: 'sys', type 2 > fs/ext2.c:688: got filename: 'cvs', type 2 > fs/ext2.c:688: got filename: 'proc', type 2 > fs/ext2.c:688: got filename: 'etc', type 2 > fs/ext2.c:651: iterating inode size=0 mode=0x0 > fs/ext2.c:862: grub_fshelp_dir returning: 0 > > prometheus ~ # grub-fstest -d ext2 -v /dev/sda3 ls /boot > fs/ext2.c:862: grub_fshelp_dir returning: 9 > fs/ext2.c:862: grub_fshelp_dir returning: 9 > fs/ext2.c:862: grub_fshelp_dir returning: 9 > fs/ext2.c:862: grub_fshelp_dir returning: 9 > fs/ext2.c:862: grub_fshelp_dir returning: 9 > fs/ext2.c:862: grub_fshelp_dir returning: 9 > fs/ext2.c:651: iterating inode size=4096 mode=0x41ed > fs/ext2.c:688: got filename: '.', type 2 > fs/ext2.c:862: grub_fshelp_dir returning: 0 > fs/ext2.c:651: iterating inode size=4096 mode=0x41ed > fs/ext2.c:688: got filename: '.', type 2 > fs/ext2.c:688: got filename: '..', type 2 > fs/ext2.c:688: got filename: 'lost+found', type 2 > fs/ext2.c:688: got filename: 'lib', type 7 > fs/ext2.c:688: got filename: '.config', type 1 > fs/ext2.c:688: got filename: 'sbin', type 2 > fs/ext2.c:688: got filename: 'root', type 2 > fs/ext2.c:688: got filename: 'mnt', type 2 > fs/ext2.c:688: got filename: 'opt', type 2 > fs/ext2.c:688: got filename: 'var', type 2 > fs/ext2.c:688: got filename: 'usr', type 2 > fs/ext2.c:688: got filename: 'dev', type 2 > fs/ext2.c:688: got filename: 'lib32', type 2 > fs/ext2.c:688: got filename: 'home', type 2 > fs/ext2.c:688: got filename: 'tmp', type 2 > fs/ext2.c:688: got filename: 'media', type 2 > fs/ext2.c:688: got filename: 'sys', type 2 > fs/ext2.c:688: got filename: 'cvs', type 2 > fs/ext2.c:688: got filename: 'proc', type 2 > fs/ext2.c:688: got filename: 'etc', type 2 > fs/ext2.c:688: got filename: 'lib64', type 2 > fs/ext2.c:688: got filename: 'boot', type 2 > fs/ext2.c:651: iterating inode size=0 mode=0x0 > fs/ext2.c:862: grub_fshelp_dir returning: 0 > > In order to help troubleshoot this, I can apply patches on top of > current SVN, run fstest & test booting for you. Please note that making > images of a 3TB drive is not practical and will not reflect the real > situation to you. > Sorry, but I am not comfortable offering SSH access to random internet > strangers. > > Regards, > Tony V. > > ------------------------------------------------------------------------ > > _______________________________________________ > Grub-devel mailing list > Grub-devel@gnu.org > http://lists.gnu.org/mailman/listinfo/grub-devel > -- Regards Vladimir 'φ-coder/phcoder' Serbinenko [-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #1.2: bige2fs.diff --] [-- Type: text/x-diff; name="bige2fs.diff", Size: 986 bytes --] === modified file 'fs/ext2.c' --- fs/ext2.c 2010-01-20 08:12:47 +0000 +++ fs/ext2.c 2010-02-24 10:48:31 +0000 @@ -436,7 +436,8 @@ grub_uint32_t indir[blksz / 4]; if (grub_disk_read (data->disk, - grub_le_to_cpu32 (inode->blocks.indir_block) + ((grub_disk_addr_t) + grub_le_to_cpu32 (inode->blocks.indir_block)) << log2_blksz, 0, blksz, indir)) return grub_errno; @@ -452,13 +453,15 @@ grub_uint32_t indir[blksz / 4]; if (grub_disk_read (data->disk, - grub_le_to_cpu32 (inode->blocks.double_indir_block) + ((grub_disk_addr_t) + grub_le_to_cpu32 (inode->blocks.double_indir_block)) << log2_blksz, 0, blksz, indir)) return grub_errno; if (grub_disk_read (data->disk, - grub_le_to_cpu32 (indir[rblock / perblock]) + ((grub_disk_addr_t) + grub_le_to_cpu32 (indir[rblock / perblock])) << log2_blksz, 0, blksz, indir)) return grub_errno; [-- Attachment #2: OpenPGP digital signature --] [-- Type: application/pgp-signature, Size: 293 bytes --] ^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2010-02-24 10:49 UTC | newest] Thread overview: 3+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2009-09-07 19:13 ~3TB ext4 volume not read correctly by ext2-fs driver in GRUB2 Tony Vroon 2009-09-12 13:54 ` Tony Vroon 2010-02-24 10:49 ` Vladimir 'φ-coder/phcoder' Serbinenko
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.