View previous topic :: View next topic |
Author |
Message |
SlackwareInAZ Tux's lil' helper
Joined: 29 Aug 2005 Posts: 92
|
Posted: Mon Feb 11, 2008 5:47 pm Post subject: Does e2fsprogs-1.40.6 support ext4dev fs? |
|
|
Decided to give ext4dev fs another try when I saw that e2fsprogs-1.40.6 had its blkid library updated to identify ext4/ext4dev.
Steps I took before I actually booted my Gentoo os:
1. reformatted partition from Slackware (which also has e2fsprogs-1.40.6) with mkfs.ext3 -j /dev/sda7
2. mounted Gentoo partition with mount -t ext4dev -o extents /dev/sda7
3. extracted saved contents from Gentoo tarball to sda7, including 2.6.24.1 kernel with ext3 & ext4dev support
4. updated fstab: /dev/sda7 / ext4dev defaults,noatime,nodiratime 0 1
5. made a symbolic link from /sbin/e2fsck to /sbin/fsck.ext4dev
when I booted into Gentoo I got the dreaded
e2fsck 1.40.6
e2fsck: Filesystem has unsupported feature(s) while trying to open /dev/sda7
The superblock could not be read or does not describe a correct ext2
filesystem. If the device is valid and it really contains an ext2
filesystem (and not swap or ufs or something else), then the superblock
is corrupt, and you might try running e2fsck with an alternate superblock:
e2fsck -b 8193 <device>
I rebooted into Slackware and tried e2fsck /dev/sda7 and received same message.
Was I mistaken to believe e2fsprogs 1.40.6 supports e2fscking a partition mounted with ext4dev with extents?
Running tune2fs -l /dev/sda7 from Slackware gives:
tune2fs 1.40.6 (09-Feb-2008)
Filesystem volume name: <none>
Last mounted on: <not available>
Filesystem UUID: c8627a22-7b71-411c-a2e2-7db26c306097
Filesystem magic number: 0xEF53
Filesystem revision #: 1 (dynamic)
Filesystem features: has_journal ext_attr resize_inode dir_index filetype extents sparse_super large_file
Filesystem flags: signed_directory_hash
Default mount options: (none)
Filesystem state: clean
Errors behavior: Continue
Filesystem OS type: Linux
Inode count: 524288
Block count: 2096474
Reserved block count: 0
Free blocks: 1469294
Free inodes: 262904
First block: 0
Block size: 4096
Fragment size: 4096
Reserved GDT blocks: 511
Blocks per group: 32768
Fragments per group: 32768
Inodes per group: 8192
Inode blocks per group: 512
Filesystem created: Mon Feb 11 10:07:11 2008
Last mount time: Mon Feb 11 10:10:21 2008
Last write time: Mon Feb 11 10:18:17 2008
Mount count: 1
Maximum mount count: 50
Last checked: Mon Feb 11 10:07:11 2008
Check interval: 15552000 (6 months)
Next check after: Sat Aug 9 10:07:11 2008
Reserved blocks uid: 0 (user root)
Reserved blocks gid: 0 (group root)
First inode: 11
Inode size: 256
Journal inode: 8
Default directory hash: tea
Directory Hash Seed: 1ae6db3e-46df-4399-8fa7-826d494f06d9
Journal backup: inode blocks
So tune2fs 1.40.6 appears to recognize extents.
Any suggestions??
Did I miss a step here? I was careful to mount the newly formatted sda7 partition with the extent flag before I untarred Gentoo into it, to ensure that all the new files would have extents, otherwise it would still be an ext3 fs.
Thanks,
Gary |
|
Back to top |
|
|
SlackwareInAZ Tux's lil' helper
Joined: 29 Aug 2005 Posts: 92
|
Posted: Mon Feb 11, 2008 6:41 pm Post subject: |
|
|
Update-
as expected trying to run e2fsck on ext4dev corrupted superblock.
Redid everything, same steps except turned off fscking in fstab.
Without e2fscking, gentoo boots up fine on ext4dev. Memory and cpu usage is ever so slightly higher. On a clean reboot using init3 ext3 would quickly settle down to 0.0sys and 0.0usr with only an occasional blip. Ext4dev stays at 0.2 -0.3% system cpu usage. Memory is only 100-200k higher.
Don't like not having a functioning e2fsck though.
Any ideas on fixing that without degrading to older 1.39-tyt-3 version of e2fsprogs?
Gary |
|
Back to top |
|
|
Thargor Apprentice
Joined: 23 Dec 2005 Posts: 239 Location: Bamberg/Germany
|
Posted: Mon Feb 11, 2008 8:57 pm Post subject: |
|
|
No, e2fsprogs-1.40.* does not support ext4dev/ext4.
The only way is to either use a patched 1.39 version or the "pu" branch from e2fsprogs-git.
I _really_ encourage everyone to do the first because the git is likely to be broken.
Strictly speaking, yesterday, someone reported on irc that he broke his fs by using the git version. _________________ Ideas are bulletproof |
|
Back to top |
|
|
SlackwareInAZ Tux's lil' helper
Joined: 29 Aug 2005 Posts: 92
|
Posted: Tue Feb 12, 2008 12:42 am Post subject: |
|
|
Thanks for the info, Thargor
Been awhile since I used git. I would imagine the git version is 1.40.6 patched for ext4/ext4dev support? Any quick link to a git tutorial? Thought I would try the git version before I downgraded to 1.39-3.
Thanks,
Gary |
|
Back to top |
|
|
skellr l33t
Joined: 18 Jun 2005 Posts: 980 Location: The Village, Portmeirion
|
|
Back to top |
|
|
SlackwareInAZ Tux's lil' helper
Joined: 29 Aug 2005 Posts: 92
|
Posted: Tue Feb 12, 2008 2:16 am Post subject: |
|
|
Thanks for the link to ext4wiki, Rainskellar,
Followed the steps from the wiki.
It doesn't seem like the pu branch is any different than the other branch. When I did the "git-pull" it says everything was up-to-date in the git/e2fsprogs directory. Built the contents with ./configure && make && make install and tried e2fsck -f /dev/sda7 and got the same error:
e2fsck: Filesystem has unsupported feature(s) while trying to open /dev/sda7
The superblock could not be read or does not describe a correct ext2
filesystem. If the device is valid and it really contains an ext2
filesystem (and not swap or ufs or something else), then the superblock
is corrupt, and you might try running e2fsck with an alternate superblock:
e2fsck -b 8193 <device>
Is this .git version ext4dev capable or is it just the most up to date version of 1.40.6? And do I need to edit com_err or ss?
Help!
Gary |
|
Back to top |
|
|
skellr l33t
Joined: 18 Jun 2005 Posts: 980 Location: The Village, Portmeirion
|
Posted: Tue Feb 12, 2008 3:31 am Post subject: |
|
|
hmm, Is the old fsck still in path before the new one?
Keep in mind that mount (util-linux) is linked against libblkid.so.1 and libuuid.so.1, both provided by e2fsprogs, things could get ugly.
I can't really help much as I don't run fsck on ext4dev, it always did more bad than god so I just gave up on it. But that was some time ago. |
|
Back to top |
|
|
micr0c0sm Tux's lil' helper
Joined: 29 Oct 2005 Posts: 148 Location: New York
|
Posted: Tue Feb 12, 2008 3:32 am Post subject: |
|
|
paludis:
Code: |
cd /var/paludis/repositories/local
echo ">=sys-fs/e2fsprogs-1.40.0" >> /etc/paludis/package_mask.conf
wget http://www.dirrt.org/gentoo/ext4.tar.bz2
tar xvjf ext4.tar.bz2
paludis -u e2fsprogs
paludis -i e2fsprogs
|
portage:
Code: |
cd /usr/portage/repositories/local
echo ">=sys-fs/e2fsprogs-1.40.0" >> /etc/portage/package.mask
wget http://www.dirrt.org/gentoo/ext4.tar.bz2
tar xvjf ext4.tar.bz2
emerge -C e2fsprogs
emerge e2fsprogs
|
Tell me if there are any prolems (note you should have already setup a local repository). |
|
Back to top |
|
|
skellr l33t
Joined: 18 Jun 2005 Posts: 980 Location: The Village, Portmeirion
|
Posted: Tue Feb 12, 2008 8:34 am Post subject: |
|
|
Thanks.
HEADCAT made my day. |
|
Back to top |
|
|
dodo1122 Guru
Joined: 02 Sep 2006 Posts: 347 Location: York, England
|
Posted: Tue Feb 12, 2008 4:21 pm Post subject: |
|
|
As to the git version, it was me who broke his ext4 partition while fsck'ing with the unstable e2fsck ;P
All you have to do is git clone the repo, then git checkout -b pu origin/pu, and you'll be in the right branch. Then you compile it ;P
But i wouldn't recommend it, since it didn't work for me. Could be that my filesystem was too broken though . I had ext4 on /, and system freezed, so i had to reboot, and the kernel would no longer be able to mount / (kernel panic). I got some pretty heavy errors while fsck'ing is well. e2fsck ended up correcting things in a loop though (i left it for 2h and it was still fixing the same inodes >_>), so the pu branch is not really that stable ;P.
dodo _________________ #zen-sources on irc.rizon.net |
|
Back to top |
|
|
Dottout l33t
Joined: 07 Mar 2006 Posts: 882
|
|
Back to top |
|
|
SlackwareInAZ Tux's lil' helper
Joined: 29 Aug 2005 Posts: 92
|
Posted: Fri Feb 15, 2008 6:48 pm Post subject: |
|
|
Dodo1122,
When I tried the e2fsprogs git repository there didn't seem to be a difference between the main branch and the -pu branch. Followed the instructions here, but neither branch could handle e2fscking ext4dev fs with extents enabled.
The way I resolved it was to format my gentoo partition with e2fsprogs-1.40.6 which gave me the 256-byte inodes and ext_attr by default. I untarred my data onto it, turned off e2fscking and booted into Gentoo. Then I downgraded to e2fsprogs-1.39-tyt3 and turned on e2fscking.
A LOT of errors on a forced e2fsck after a reboot but finally everything was fixed. I think ext4dev is quicker, particularly on syncing the portage tree.
Any suggestions on how I might get the -pu branch of the git repository to handle ext4dev e2fscking? I would love to have a patched fully functioning e2fsprogs-1.40.6 version.
Thanks,
Gary
P.S. All this was done with 2.6.24.2 vanilla-sources kernel on a 99% x86 stable system. |
|
Back to top |
|
|
dodo1122 Guru
Joined: 02 Sep 2006 Posts: 347 Location: York, England
|
Posted: Fri Feb 15, 2008 8:03 pm Post subject: |
|
|
SlackwareInAZ wrote: | Dodo1122,
When I tried the e2fsprogs git repository there didn't seem to be a difference between the main branch and the -pu branch. Followed the instructions here, but neither branch could handle e2fscking ext4dev fs with extents enabled.
The way I resolved it was to format my gentoo partition with e2fsprogs-1.40.6 which gave me the 256-byte inodes and ext_attr by default. I untarred my data onto it, turned off e2fscking and booted into Gentoo. Then I downgraded to e2fsprogs-1.39-tyt3 and turned on e2fscking.
A LOT of errors on a forced e2fsck after a reboot but finally everything was fixed. I think ext4dev is quicker, particularly on syncing the portage tree.
Any suggestions on how I might get the -pu branch of the git repository to handle ext4dev e2fscking? I would love to have a patched fully functioning e2fsprogs-1.40.6 version.
Thanks,
Gary
P.S. All this was done with 2.6.24.2 vanilla-sources kernel on a 99% x86 stable system. |
Use e2fsprogs-interim branch. It apparently works really good with ext4, and supports mballoc, but does not support 64-bit sized ext4 yet (noone uses a partition that big anyway). It is also based on 1.40.6 .
dodo _________________ #zen-sources on irc.rizon.net |
|
Back to top |
|
|
SlackwareInAZ Tux's lil' helper
Joined: 29 Aug 2005 Posts: 92
|
Posted: Fri Feb 15, 2008 8:37 pm Post subject: |
|
|
dodo1122,
followed the ext4wiki instructions substituting interim for pu branch.
In both cases whenever I switch branches, either from the main to pu, or from the main to interim, then do a git pull, it always since the branch is up to date. What changes occur when you switch from one branch to another, since in my case nothing seems to happen.
Is there a way to git clone to the interim branch so that I know the my tree is the interim branch?
Thanks,
Gary |
|
Back to top |
|
|
creidiki Apprentice
Joined: 23 Mar 2007 Posts: 283 Location: Varese (Italy)
|
Posted: Fri Feb 15, 2008 8:55 pm Post subject: |
|
|
when you do git pull it dls all data for all branches.
git checkout <branch> puts you in the branch you choose of the revision you have locally.
so yes, it would say that. _________________ '((eINIT) (soor overlay)) |
|
Back to top |
|
|
dodo1122 Guru
Joined: 02 Sep 2006 Posts: 347 Location: York, England
|
Posted: Fri Feb 15, 2008 9:15 pm Post subject: |
|
|
git checkout -b e2fsprogs-interim origin/e2fsprogs-interim
^ will do it; you'll be in e2fsprogs-interim branch, and all you have to do it compile ;P
dodo _________________ #zen-sources on irc.rizon.net |
|
Back to top |
|
|
SlackwareInAZ Tux's lil' helper
Joined: 29 Aug 2005 Posts: 92
|
Posted: Fri Feb 15, 2008 11:24 pm Post subject: |
|
|
dodo1122,
tried your last instructions as follows:
gentoo sda8 # git clone git://git.kernel.org/pub/scm/fs/ext2/e2fsprogs.git
Initialized empty Git repository in /sda8/e2fsprogs/.git/
remote: Counting objects: 22079, done.
remote: Compressing objects: 100% (4480/4480), done.
Indexing 22079 objects...
remote: Total 22079 (delta 17667), reused 21744 (delta 17388)
100% (22079/22079) done
Resolving 17667 deltas...
100% (17667/17667) done
gentoo sda8 # cd /sda8/e2fsprogs
gentoo e2fsprogs # git checkout -b e2fsprogs-interim origin/e2fsprogs-interim
Branch e2fsprogs-interim set up to track remote branch refs/remotes/origin/e2fsprogs-interim.
Switched to a new branch "e2fsprogs-interim"
gentoo e2fsprogs # git branch
* e2fsprogs-interim
master
gentoo e2fsprogs # git pull git://git.kernel.org/pub/scm/fs/ext2/e2fsprogs.git
Auto-merged debugfs/debugfs.c
Auto-merged debugfs/set_fields.c
Auto-merged e2fsck/Makefile.in
Auto-merged e2fsck/e2fsck.8.in
Auto-merged e2fsck/e2fsck.h
Auto-merged e2fsck/journal.c
Auto-merged e2fsck/pass1.c
Auto-merged e2fsck/pass2.c
Auto-merged e2fsck/pass3.c
Auto-merged e2fsck/pass4.c
Auto-merged e2fsck/pass5.c
Auto-merged e2fsck/super.c
CONFLICT (content): Merge conflict in e2fsck/super.c
Removed e2fsck/swapfs.c
Auto-merged e2fsck/unix.c
Auto-merged e2fsck/util.c
Auto-merged lib/e2p/feature.c
CONFLICT (content): Merge conflict in lib/e2p/feature.c
Auto-merged lib/ext2fs/Makefile.in
CONFLICT (content): Merge conflict in lib/ext2fs/Makefile.in
Auto-merged lib/ext2fs/bitops.h
Auto-merged lib/ext2fs/bmap.c
Auto-merged lib/ext2fs/closefs.c
Removed lib/ext2fs/cmp_bitmaps.c
Auto-merged lib/ext2fs/ext2_fs.h
Auto-merged lib/ext2fs/ext2fs.h
CONFLICT (content): Merge conflict in lib/ext2fs/ext2fs.h
Auto-merged lib/ext2fs/ext_attr.c
CONFLICT (content): Merge conflict in lib/ext2fs/ext_attr.c
Auto-merged lib/ext2fs/ind_block.c
CONFLICT (content): Merge conflict in lib/ext2fs/ind_block.c
Auto-merged lib/ext2fs/initialize.c
Auto-merged lib/ext2fs/inode.c
Auto-merged lib/ext2fs/openfs.c
Removed lib/ext2fs/rs_bitmap.c
Auto-merged lib/ext2fs/rw_bitmaps.c
Auto-merged lib/ext2fs/swapfs.c
Auto-merged misc/dumpe2fs.c
Auto-merged misc/mke2fs.c
CONFLICT (content): Merge conflict in misc/mke2fs.c
Auto-merged misc/tune2fs.c
CONFLICT (content): Merge conflict in misc/tune2fs.c
Auto-merged resize/resize2fs.c
Removed tests/f_swapfs/debugfs.cmd
Removed tests/f_swapfs/expect
Removed tests/f_swapfs/image
Removed tests/f_swapfs/image.gz
Removed tests/f_swapfs/name
Removed tests/f_swapfs/script
Automatic merge failed; fix conflicts and then commit the result.
Now I know something's going on. Instead of just saying branch is up-to-date.
What are these conflicts and how do I (or do I need to) resolve them?
Gary |
|
Back to top |
|
|
SlackwareInAZ Tux's lil' helper
Joined: 29 Aug 2005 Posts: 92
|
Posted: Fri Feb 15, 2008 11:29 pm Post subject: |
|
|
Update:
tried to compile e2fsprogs (interim branch) but it gave this error: (guess those conflicts need to be resolved)
make[2]: Leaving directory `/sda8/e2fsprogs/lib/ss'
making all in lib/e2p
make[2]: Entering directory `/sda8/e2fsprogs/lib/e2p'
CC feature.c
feature.c:70: error: expected expression before '<<' token
make[2]: *** [feature.o] Error 1
make[2]: Leaving directory `/sda8/e2fsprogs/lib/e2p'
make[1]: *** [all-libs-recursive] Error 1
make[1]: Leaving directory `/sda8/e2fsprogs'
make: *** [all] Error 2
Gary
Must be omitted or adding an extra step in the git clone/git pull procedure ?? |
|
Back to top |
|
|
SlackwareInAZ Tux's lil' helper
Joined: 29 Aug 2005 Posts: 92
|
Posted: Fri Feb 15, 2008 11:34 pm Post subject: |
|
|
Update 2:
modified my last git clone/pull by removing:
git branch
* e2fsprogs-interim
master
before I ran-- git pull git://git.kernel.org/pub/scm/fs/ext2/e2fsprogs.git
No difference.
Same make errors--
make[2]: Leaving directory `/sda8/e2fsprogs/lib/ss'
making all in lib/e2p
make[2]: Entering directory `/sda8/e2fsprogs/lib/e2p'
CC feature.c
feature.c:70: error: expected expression before '<<' token
make[2]: *** [feature.o] Error 1
make[2]: Leaving directory `/sda8/e2fsprogs/lib/e2p'
make[1]: *** [all-libs-recursive] Error 1
make[1]: Leaving directory `/sda8/e2fsprogs'
make: *** [all] Error 2
Gary |
|
Back to top |
|
|
SlackwareInAZ Tux's lil' helper
Joined: 29 Aug 2005 Posts: 92
|
Posted: Sat Feb 16, 2008 9:10 pm Post subject: |
|
|
dodo1122,
tried the -pu branch. Compiled fine, but e2fsck doesn't work on ext4dev fs.
tried the interim branch, modifying your instructions slightly. After the git clone, and cd /e2fsprogs, I did "git checkout -b interim" followed by git branch before compiling. Identical file sizes to the pu branch. Still no joy with e2fscking ext4dev partition.
What gives
Gary |
|
Back to top |
|
|
dodo1122 Guru
Joined: 02 Sep 2006 Posts: 347 Location: York, England
|
Posted: Sun Feb 17, 2008 4:46 pm Post subject: |
|
|
nono, you don't git pull like that. just do 'git pull' without the url. Also, you need linux-headers-2.6.23 to compile e2fsprogs-interim branch, not .24. You also need newer ss and com_err. ebuilds for the whole lot:
ss-9999.ebuild - http://rafb.net/p/hvS3jf16.html
com_err-9999.ebuild - http://rafb.net/p/wMrZBW94.html
e2fsprogs-9999 (from interim branch) - http://rafb.net/p/7lIEI130.html
dodo _________________ #zen-sources on irc.rizon.net |
|
Back to top |
|
|
Dottout l33t
Joined: 07 Mar 2006 Posts: 882
|
Posted: Sun Feb 17, 2008 5:15 pm Post subject: |
|
|
dodo: where to find patches for e2fsprogs? like ${PN}-9999-libintl.patch |
|
Back to top |
|
|
dodo1122 Guru
Joined: 02 Sep 2006 Posts: 347 Location: York, England
|
Posted: Sun Feb 17, 2008 5:19 pm Post subject: |
|
|
e2fsprogs-9999-libintl.patch - http://rafb.net/p/MoBOmD68.html
dodo _________________ #zen-sources on irc.rizon.net |
|
Back to top |
|
|
SlackwareInAZ Tux's lil' helper
Joined: 29 Aug 2005 Posts: 92
|
Posted: Mon Feb 18, 2008 9:23 am Post subject: |
|
|
dodo1122,
Thanks for your patience with me concerning numerous errors in following your instructions.
Trying your ebuilds to emerge e2fsprogs-1.40.5-r1. Almost there but the .ebuild needs these 3 patches:
${PN}-1.38-tests-locale.patch #99766
${PN}-1.40-fbsd.patch
${PN}-wtf-git-conflict.patch
I figured you would know where to get them.
Thanks,
Gary |
|
Back to top |
|
|
Dottout l33t
Joined: 07 Mar 2006 Posts: 882
|
Posted: Mon Feb 18, 2008 9:29 am Post subject: |
|
|
SlackwareInAZ wrote: | dodo1122,
Thanks for your patience with me concerning numerous errors in following your instructions.
Trying your ebuilds to emerge e2fsprogs-1.40.5-r1. Almost there but the .ebuild needs these 3 patches:
${PN}-1.38-tests-locale.patch #99766
${PN}-1.40-fbsd.patch
${PN}-wtf-git-conflict.patch
I figured you would know where to get them.
Thanks,
Gary |
first of all, dodo's ebuilds wont merge 1.40.5 but latest from git. about the patches: you find them in /usr/portage/sys-fs/e2fsprogs/files/ |
|
Back to top |
|
|
|