olistudent
IPPF-Urgestein
- Mitglied seit
- 19 Okt 2004
- Beiträge
- 14,787
- Punkte für Reaktionen
- 13
- Punkte
- 38
Das nachzuverfolgen ist leider nicht so ganz einfach. Da wir keinen Source von AVM für diese Firmware haben. Ich habe in fs/ext4/super.c einige ext4_msg(sb, KERN_ERR,...) hinzugefügt. Interesanterweise ändern diese die Ausgaben!?
Wenn ich diese Zeilen auskommentiere, dann kommt wieder die -1751726592. Kannst du dir vortstellen, dass eine Config Option oder ein Compiler Flag sowas auslösen könnte? Das ist doch ähnlich wie das Problem mit den Berechtigungen auf der 7390.
Gruß
Oliver
edit: Mir ist aufgefallen, dass die Größe des sk_buff structs unterschiedlich war. Aber daran scheint es nicht gelegen zu haben. Gibt es noch andere Strukturen mit "dynamischer" Größe?
Code:
EXT4-fs (sda3): sb_block 1
EXT4-fs (sda3): blocksize 1024
EXT4-fs (sda3): block 1
getblk(): invalid block size 32 requested
logical block size: 512
Call Trace:
[<9441689c>] dump_stack+0x8/0x34
[<941abd74>] __getblk_slow+0xb8/0x1b8
[<941b1340>] __bread+0x14/0x3e4
[<c11f37ac>] ext4_fill_super+0x318/0x2a08 [ext4]
[<94187e54>] get_sb_bdev+0x130/0x1a8
[<c11f1024>] ext4_get_sb+0x2c/0x38 [ext4]
[<94186a94>] vfs_kern_mount+0x58/0xe4
[<94186b78>] do_kern_mount+0x48/0xfc
[<941a0318>] do_mount+0x260/0x2d4
[<941a0410>] sys_mount+0x84/0x154
[<9410ddc4>] stack_done+0x20/0x3c
EXT4-fs (sda3): unable to read superblock
Code:
static int ext4_fill_super(struct super_block *sb, void *data, int silent)
__releases(kernel_lock)
__acquires(kernel_lock)
{
struct buffer_head *bh;
struct ext4_super_block *es = NULL;
struct ext4_sb_info *sbi;
ext4_fsblk_t block;
ext4_fsblk_t sb_block = get_sb_block(&data);
[I] ext4_msg(sb, KERN_ERR, "sb_block %lu",(unsigned long)sb_block);[/I]
ext4_fsblk_t logical_sb_block;
...
if (blocksize != EXT4_MIN_BLOCK_SIZE) {
logical_sb_block = sb_block * EXT4_MIN_BLOCK_SIZE;
offset = do_div(logical_sb_block, blocksize);
} else {
logical_sb_block = sb_block;
}
[I] ext4_msg(sb, KERN_ERR, "blocksize %lu",(unsigned long)sb->s_blocksize);
ext4_msg(sb, KERN_ERR, "block %lu",(unsigned long)logical_sb_block);[/I]
if (!(bh = sb_bread(sb, logical_sb_block))) {
ext4_msg(sb, KERN_ERR, "unable to read superblock");
goto out_fail;
}
Gruß
Oliver
edit: Mir ist aufgefallen, dass die Größe des sk_buff structs unterschiedlich war. Aber daran scheint es nicht gelegen zu haben. Gibt es noch andere Strukturen mit "dynamischer" Größe?
Zuletzt bearbeitet: