You are not logged in.
Hi, is it possible to have ext4 fs without a journal on it? I'd like to replace ext2 on my SSD with it.
Thanx
Offline
ext3 and ext 4 are journaled file systems, without journal its ext2.
Offline
Well the main (maybe even only?) advantage of ext3 over ext2 is the journal. But ext4 has more "upgrades" which can be usefull.
But maybe they all depends on the journal...
Offline
May be possible to get a low-capacity hard drive which would have all the journalling data written to a partition on it, instead of the SSD. I don't know much about how ext3 or ext4 work though. I just care that they DO work.
Offline
Have you looked at the help/man page for mkfs.ext4? Look at the journal_dev option to place the journal on a different device.
Offline
Hum... I still only have one device available: the SSD. I don't want to kill it with the journal...
Offline
Maybe you can set the journal to /dev/null. I'm not sure if it'll work and how safe it is, though.
(lambda ())
Offline
Hum... I still only have one device available: the SSD. I don't want to kill it with the journal...
How about using a USB stick / SD card for the journal? You could even use the extra space for a swap partition.
Offline
I don't really need a swap... On all my machine its almost always at 0 use...
I'll try maybe to put it on a sd card...
Offline
From the manpage:
device=external-journal
Attach the filesystem to the journal block device
located on external-journal. The external journal
must already have been created using the command
mke2fs -O journal_dev external-journal
Note that external-journal must have been created
with the same block size as the new filesystem.
What does it mean? That the size should be the same? So I can't erase everything on an old 128MB SD card and put the journal of a 32GB SSD drive on it?
Offline
google it, but it has to do with how much space is left for each block of data on the disk. Less blocks means more data can be stored simultaneously on the disk in one spot, but if that data is less then the block size it is wasted space but will be reported as full.
there is always a sane default.
Offline
2.6.29 merge window, part 2
* It is now possible to create and run ext4 filesystems without a journal. One loses the benefits of journaling, obviously, but there is a notable increase in performance.
Wouhou!!!
Increased performances too!!! Great!!!
Offline
Question: How do you run ext4 without a journal???
I have read in many different places that ext4 without a journal is definitely possible, and also faster than ext2. What I can't find, though, is what fstab option will run ext4 without a journal.
Offline
I don't know either... I was waiting for .29 before checking that.
If I find something I'll post it here
Offline
2.6.29 will have the capability to run ext4 without a journal:
flack 2.0.6: menu-driven BASH script to easily tag FLAC files (AUR)
knock-once 1.2: BASH script to easily create/send one-time sequences for knockd (forum/AUR)
Offline
It's interesting to read Ted Ts'o (the lead ext4 developer) on the subject.
Offline
Interesting read indeed. On this small machine I still prefer to "risk" "loosing" data but have a faster system (and a little bit longer life )
Offline
I can't find information on _how_ to achieve this. Everybody talks about it being possible, but nobody says how :S
I think it might be a tune2fs options:
tune2fs -O ^has_journal /dev/sda1
Is it the best way or is there a mount options?
Offline
I think it might be a tune2fs options:
tune2fs -O ^has_journal /dev/sda1
Is it the best way or is there a mount options?
It is.
You might try to edit /etc/mke2fs.conf
$ cat /etc/mke2fs.conf
[defaults]
base_features = sparse_super,filetype,resize_inode,dir_index,ext_attr
blocksize = 4096
inode_size = 256
inode_ratio = 16384
[fs_types]
ext3 = {
features = has_journal
}
ext4 = {
features = has_journal,extents,huge_file,flex_bg,uninit_bg,dir_nlink,extra_isize
inode_size = 256
}
ext4dev = {
features = has_journal,extents,huge_file,flex_bg,uninit_bg,dir_nlink,extra_isize
inode_size = 256
options = test_fs=1
}
small = {
blocksize = 1024
inode_size = 128
inode_ratio = 4096
}
floppy = {
blocksize = 1024
inode_size = 128
inode_ratio = 8192
}
news = {
inode_ratio = 4096
}
largefile = {
inode_ratio = 1048576
blocksize = -1
}
largefile4 = {
inode_ratio = 4194304
blocksize = -1
}
hurd = {
blocksize = 4096
inode_size = 128
}
and add someting like
ext4ssd = {
features = extents,huge_file,flex_bg,uninit_bg,dir_nlink,extra_isize
inode_size = 256
}
and create then a new filesystem.
To tune an existing one your option is the best.
Still take this advice, do not put auto as fs_type in fstab for that filesystem.
As of 2.6.29 the kernel is not able to recognize an ext4 superblock without journal as an ext4 type for auto fs_type purposes.
Apart from that just tune the fs as you said and use it.
And yes, it works like wonders.
Offline
Thanx a lot!
I will change my /home with tunefs, and convert my / from ext2 to ext4 soon.
Thanx for the advice on auto vs ext4 in fstab to
I have this for now:
/dev/sdb1 /home/me ext4 defaults,noatime,nodiratime,barrier=0 0 1
Offline
I have ext4 set at writeback. its much quicker. for those interested:
Example (/etc/fstab):
/dev/sda2 / ext4 noatime,defaults,data=writeback 0 1
/dev/sda5 swap swap defaults 0 0
/dev/sda1 /boot ext2 defaults 0 1
Example (/boot/grub/menu.lst)
timeout 0
default 0
title Arch Linux
root (hd0,0)
kernel /vmlinuz-zen root=/dev/sda2 ro rootflags=data=writeback
It's so wicked quick with ext4!!!
Yet... dangerous if your power goes out.
Last edited by Neo_The_User (2009-05-02 17:21:06)
AMD Phenom II X4 955 with Optimized Kernel
5 GB DDR2 RAM
320 GB SATA Hard Drive + 160 GB SATA Hard Drive
ATi RadeonHD 5830 GIGABYTE
Offline
howdy guys,
if I remove journaling, what steps do I have to take to insure my computer will boot? I did the steps outlined here and it didn't...
Offline
I don't think it should influence boot process... At least I though...
Offline
I removed the journal and when I rebooted it dropped me into a recovery shell.
Offline