kann keine EXT4 Volumes mounten

Hi,

Code:
Debian Squeeze/Sid
Linux keksinat0r.is-a-geek.org 2.6.26-1-amd64 #1 SMP Fri Mar 13 17:46:45 UTC 2009 x86_64 GNU/Linux

Ich versuche seit ueber 1 Stunde ein ext4-Volume zu mounten. Leider erfolglos.

Code:
$ modprobe ext4dev && lsmod | grep ext4dev
ext4dev               192944  0 
jbd2                   59440  1 ext4dev
crc16                   6528  1 ext4dev
mbcache                12804  3 ext4dev,ext3,ext2
Code:
$ mount -o loop ~/loop.ex4 /mnt/
mount: unknown filesystem type 'ext4'
Code:
$ mount -o loop -t ext4dev ~/loop.ex4 /mnt/
mount: wrong fs type, bad option, bad superblock on /dev/loop0,
       missing codepage or helper program, or other error
       In some cases useful info is found in syslog - try
       dmesg | tail  or so
Code:
$ dmesg | tail
[ 5993.198466] EXT4-fs: loop0: not marked OK to use with test code.

Also hab' ich mal fsck drueber rennen lassen:
Code:
$ fsck.ext4 loop.ex4 
e2fsck 1.41.3 (12-Oct-2008)
loop.ex4: clean, 71/2512 files, 1608/10000 blocks
Code:
$ fsck.ext4dev loop.ex4 
e2fsck 1.41.3 (12-Oct-2008)
loop.ex4: clean, 71/2512 files, 1608/10000 blocks

dann habe ich einfach mal 2 neue volumes erstellt. Einmal mit ext4 und einmal mit ext4dev:

Code:
$dd if=/dev/zero of=test.ex4 bs=1024 count=100000 && mkfs.ext4 test.ex4
100000+0 records in
100000+0 records out
102400000 bytes (102 MB) copied, 0.682098 s, 150 MB/s
mke2fs 1.41.3 (12-Oct-2008)
test.ex4 is not a block special device.
Proceed anyway? (y,n) y
Filesystem label=
OS type: Linux
Block size=1024 (log=0)
Fragment size=1024 (log=0)
25064 inodes, 100000 blocks
5000 blocks (5.00%) reserved for the super user
First data block=1
Maximum filesystem blocks=67371008
13 block groups
8192 blocks per group, 8192 fragments per group
1928 inodes per group
Superblock backups stored on blocks: 
	8193, 24577, 40961, 57345, 73729

Writing inode tables: done                            
Creating journal (4096 blocks): done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 29 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.
Code:
$mount -t ext4 -o loop test.ex4 /mnt/
mount: unknown filesystem type 'ext4'

Code:
$mount -t ext4dev -o loop test.ex4 /mnt/
mount: wrong fs type, bad option, bad superblock on /dev/loop1,
       missing codepage or helper program, or other error
       In some cases useful info is found in syslog - try
       dmesg | tail  or so
Code:
$dmesg | tail
[10834.513233] EXT4-fs: loop1: not marked OK to use with test code.

also mal mit mkfs.ext4dev versuchen:

Code:
$dd if=/dev/zero of=test.ex4dev bs=1024 count=100000 && mkfs.ext4dev test.ex4dev
100000+0 records in
100000+0 records out
102400000 bytes (102 MB) copied, 0.700535 s, 146 MB/s
mke2fs 1.41.3 (12-Oct-2008)
test.ex4dev is not a block special device.
Proceed anyway? (y,n) y
Filesystem label=
OS type: Linux
Block size=1024 (log=0)
Fragment size=1024 (log=0)
25064 inodes, 100000 blocks
5000 blocks (5.00%) reserved for the super user
First data block=1
Maximum filesystem blocks=67371008
13 block groups
8192 blocks per group, 8192 fragments per group
1928 inodes per group
Superblock backups stored on blocks: 
	8193, 24577, 40961, 57345, 73729

Writing inode tables: done                            
Creating journal (4096 blocks): done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 21 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.
Code:
$mount -t ext4dev -o loop test.extdev /mnt
Code:
$dmesg | tail
[10995.515694] kjournald2 starting.  Commit interval 5 seconds
[10995.516391] EXT4 FS on loop1, internal journal
[10995.516391] EXT4-fs: mounted filesystem with ordered data mode.
[10995.516391] EXT4-fs: file extents enabled
[10995.516391] EXT4-fs: mballoc enabled

ext4dev funktioniert also, warum aber ext4 nicht?
fsck funktioniert ja auch einwandfrei, und findet keine Fehler...

Irgend ne Idee wie ich das Teil gemountet bekomm?
 
Code:
$ dmesg | tail
[ 5993.198466] EXT4-fs: loop0: not marked OK to use with test code.

Ich würde einfach mal behaupten, dass man ext4 nur mounten kann, wenns auch ext4 ist. In deinem Kernel (der schon etwas älter ist...) ist wohl nur ext4dev, also eine Entwicklerversion, enthalten. Sie weigert sich das "neuere" Dateisystem zu mounten, da es ganz offensichtlich zu neu ist.
Lösung wäre entweder nen neuen Kernel zu installieren oder ein passendes, neues ext4 Modul übersetzen (ka, ob das so einfach möglich ist...)
 
Hi,

ich habe etwas ähnliches gerade mal ausprobiert. Geht auch nicht :S

Code:
mathias@workhorse:~$ dd if=/dev/zero of=disk.img bs=214748364 count=5
5+0 records in
5+0 records out
1073741820 bytes (1.1 GB) copied, 21.9048 s, 49.0 MB/s
mathias@workhorse:~$ su
Password: 
workhorse:/home/mathias# mkfs.ext4
mkfs.ext4     mkfs.ext4dev  
workhorse:/home/mathias# mkfs.ext4 disk.img 
mke2fs 1.41.3 (12-Oct-2008)
disk.img is not a block special device.
Proceed anyway? (y,n) y
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
65536 inodes, 262143 blocks
13107 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=268435456
8 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks: 
	32768, 98304, 163840, 229376

Writing inode tables: done                            
Creating journal (4096 blocks): done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 25 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.
workhorse:/home/mathias# mount -o loop disk.img /mnt
mount: unknown filesystem type 'ext4'
workhorse:/home/mathias# mount -t ext4 -o loop disk.img /mnt
mount: unknown filesystem type 'ext4'
workhorse:/home/mathias# mount -t ext4dev -o loop disk.img /mnt
mount: wrong fs type, bad option, bad superblock on /dev/loop0,
       missing codepage or helper program, or other error
       In some cases useful info is found in syslog - try
       dmesg | tail  or so

workhorse:/home/mathias#
 
Wenn ihr halt ein neues Dateisystem benutzen wollt, müsst ihr auch nen aktuellen Kernel benutzen. Bei mir funktioniert es nämlich einwandfrei. (Kernel auf Basis von 2.6.29.1)

Code:
# dd if=/dev/zero of=/tmp/image bs=1M count=1k
# mkfs.ext4 /tmp/image
mke2fs 1.41.4 (27-Jan-2009)
/tmp/image ist kein spezielles Block-Gerät.
Trotzdem fortsetzen? (j,n) j
Dateisystem-Label=
OS-Typ: Linux
Blockgröße=4096 (log=2)
Fragmentgröße=4096 (log=2)
65536 Inodes, 262144 Blöcke
13107 Blöcke (5.00%) reserviert für den Superuser
Erster Datenblock=0
Maximale Dateisystem-Blöcke=268435456
8 Blockgruppen
32768 Blöcke pro Gruppe, 32768 Fragmente pro Gruppe
8192 Inodes pro Gruppe
Superblock-Sicherungskopien gespeichert in den Blöcken:
        32768, 98304, 163840, 229376

Schreibe Inode-Tabellen: erledigt
Erstelle Journal (8192 Blöcke): erledigt
Schreibe Superblöcke und Dateisystem-Accountinginformationen: erledigt

Das Dateisystem wird automatisch nach jeweils 29 Einhäng-Vorgängen bzw.
alle 180 Tage überprüft, je nachdem, was zuerst eintritt. Veränderbar mit
tune2fs -c oder -t .
# mount -o loop /tmp/image /mnt/mnt1
# mount | grep mnt1
/dev/loop1 on /mnt/mnt1 type ext4 (rw)
 
Ist 2.6.26 zu alt dafür? Warum hab ich mkfs.ext4 wenn ichs nicht mounten kann? Ist doch dämlich ...

Code:
mathias@wizard:~$ uname -a
Linux wizard 2.6.26-1-amd64 #1 SMP Fri Mar 13 17:46:45 UTC 2009 x86_64 GNU/Linux
mathias@wizard:~$
 
Ab 2.6.28 müsste hinhaun. Wieso bei euch allerdings der Userspace so "aktuell" ist (oktober 08) und der Kernel (Juli 08) etwas betagt ist... naja, debian halt ^
 
Zurück
Oben