ext3fs in Linus' Kernel Tree
peloy writes: "According to Linus' changelog for Linux 2.4.15pre2, the long waited ext3fs, the sucessor of ext2 with jounaling capabilities, has finally made its way into the official kernel tree. I have never tried ext3fs but it looks that now that it is "blessed" by Linus I'll be upgrading my old and trusty ext2fs partitions soon."
...and there was much rejoicing.
I'm a writer, a poet, a genius, I know it. I don't buy software, I grow it.
Yay!
-David
There. Now go play some cool javascript games!
I've been running ext3 for about a month now, and it is so much better than ext2. I'm glad to see that Linus decided to merge it in. I know that there were some issues for a while with ext3 not working with the new VM, but they finally started releasing patches for the latest 2.4 kernels.
-Alien88
I've been using ext3 ever since I upgraded to 2.4.14 a few days ago. Its nice to have the journaled FS... as I have been testing out a lot of !cough!nvidia!cough! proprietary drivers and bleeding edge software lately, and subsequently crashing. W/ ext3, I can get back to the crashing very quickly.
/var first, its simple to convert). It definitely speeds up the directory access... and on my squid it cut the average response time by a full half second... :-P.
That said, I also use ReiserFS for some other things(try
I personally think ext3 will win out, as it takes about 20 seconds to convert a 6GB partition... vs. XFS or ReiserFS taking nearly 10 minutes, and much more complexity.
SpamapS -- Undernet #Linuxhelp
Of course we'll have a lot of posts here talking about the issues of backwards compatiblity, ext3's offerings, etc, so we migh as well get those out of the way now.
From what I understand, ext3fs is just ext2 with journaling support, so in the (somewhat rare) event of a system crash you don't have to go through a time-consuming fsck during the next boot. Results in better data protection and more uptime.
If an ext3fs enabled kernel on an ext3 partition needs to go back to a previous kernel for some reason, or say, you forget to compile ext3 into a kernel, any ext2 kernel will still be able to read/write to an ext3 partition, as long as it was cleanly unmounted with the ext3 kernel.
Why not push ReiserFS, XFS, etc? It seems that most of these are not very well proven yet. ext2 is tried and true, kernel support is good, and the new revision adds journaling, so why not stick with ext3?
AFAIK, these are some of the most FAQs about ext3. I wonder how often they'll show up below...
XML is like violence. If it doesn't solve the problem, use more.
Question...
What are the individual file size limits, and overall filesystem size limits for each of the various journalled filesystems?
I ran into the file size limit on ext2 just recently (2GB, I think it was), and I want to upgrade to something that handles larger files.
Thanks.
well the best part about ext3 is if something goes wrong .. you can convert the system back to ext2 in a second.. just mount it as ext2;-)
having said that .. i've been using ext3 for over a year now without any glitch. i had a 30G partition and lots of power failures .. so ext3 really eased my life and converting a current ext2 to ext3 is also pretty simple. no more backup of 30G of data ...
Anybody have any real-world benchmarks we can have a look at? I hate to sound redundant on this, but performance is a big issue for web/file servers (which is mostly what I'm running these days).
If the "running the hell out of it" scenarios look good, I'll probably give it a shot on a production box. Actually, knowing me, I'll give it a shot anyhow, but hey...
Just as a thought, I'm operating from a starting assumption that it's *pretty much* just ext2 with journaling, but it's the overhead for the journaling that raises my eyebrows just a tad...
Thanks for the feedback!
...
Reizer leaves me with 100 free
Is this going to chew up more HD room? I'd love to find a nice, ext2-like file system to make this laptop's root.
--
# Canmephians for a better Linux Kernel
$Stalag99{"URL"}="http://stalag99.net";
GNU/ext3fs
ext3 was just about the only reason I was using -ac kernels...
Stating on Slashdot that I like cheese since 1997.
http://ftp.sourceforge.net/ has 850GB storage, half of which is reiserfs, half is ext2. Both filesystems have been running flawlessly for > 4 months of production (actually longer, but wasn't reiserfs before). That server pushes between 15Mbit and 50Mbit/sec, and pulls/syncs about 2-5Mbit/sec, 24x7. reiserfs also powers the CVS tree filesystem for cvs-mirror.mozilla.org (also tokyojoe.sourceforge.net), which is the one and only anonymous CVS checkout point for mozilla. That server has run flawlessly under very heavy load since its birth. I don't get involved in kernel politics, but as a production filesystem, reiserfs is ok in my book.
I remember reading somewhere a while back that Linus and other kernel developers were disinclined to ever put XFS in the kernel because it was a huge amount of code and pretty ugly.
Here's a quick explanation of a journaled filesystem, courtesy of LinuxPlanet.com:
The term "journaled" means that the filesystem maintains a log or record of what it is doing to the main data areas of the disk, so that if a crash occurs it can re-create anything that was lost.
...
The idea is that the system can crash at any point in this process but that such a crash won't have lasting effect. ... So when the system reboots, it can simply replay the journal entries and complete the update that was interrupted, or it can back out a partially completed update to restore the file's previous state. In either case, you have valid data and not a trashed partition.
Basically, it means no more long disk checks at startup after a crash or power outage. :) And it virtually eliminates disk fragmentation too, I believe. Hope that helps.
Mozilla's a nice operating system, but it needs a better browser.
So journalling's been available to the masses for a while now. Or maybe Michael meant ease of converting for the installed base?
Now if only the damn preemptible kernel patch would make it in. Unfortunately, it looks like that's going to wait until 2.4.5. *sigh*...
--
Runnin' around, robbin' banks all whacked on the Scooby Snacks...
Ok, I can already hear the Trolls arguing which FS is superior.
;)
Personally I'd say that it depends and it is not the point asking whether one should use ReiserFS, ext3 or XFS.
Personally I've been using ReiserFS for ages without ANY problems at all on a number of systems running SuSE, Mandrake 8 and recently on RedHat 7 and 7.1. Over the time I've been more than satisfied with the results I got regarding speed, stability and so on.
But personally I'd really like to be able to freely choose which FS to use - I really can't understand why especially redhat was ignoring ReiserFS all the time, claiming (IMHO you can't otherwise say so!) it was "unstable". This must be some kind of weird "political" or strategic question.
So my 2c: at least leave the average user the ability to choose his preferred filesystem in Distro setups and don't just simply stick to one and ignore the others as if they wouldn't exist- nobody will complain if it's set to ext3 by default for beginners.
Someone asked Linus about the preemptible kernel patches (and latency in general) at the Annual Linux Showcase on Thursday night. The thing about the preemptible kernel is that it is only for uniprocessor - SMP kernels aren't preemptible. So unless you want the SMP case to be capable of tying up a processor for "too long" at a time, then you need to re-do each bit of code which is capable of long latencies anyway. The other thing which came up is that responsiveness of the system improved quite a bit recently with VM fixes (2.4.14 was the improved version, I think). It was a matter of the VM queueing up too much I/O (and the drivers trying to throttle it, instead of just throttling it all in the VM - or something like that). The preemptible kernel won't solve that kind of problem - although it may change/mask the symptoms enough to make it a bit hard to be sure where a problem is.
Oh, and to bring things back to ext3, Steven Tweedie was also there and made a number of comments about ext3. He has been fairly busy/nervous lately as ext3 just got into the hands of Lots Of(TM) users (when it shipped with Red Hat 7.2). The most serious problem I remember him talking about was that the 7.2 installer had a box marked "upgrade my ext2 to ext3" and one marked "makefs the filesystem" (or something like that), and some people were checking both - which would create a nice new empty filesystem in place of the one which was being "upgraded". But of course that is just user error plus a confusing installer, not a kernel problem. Most of the things which looked like ext3 kernel problems seem to be something else, as far as Steven has been able to tell so far.
The ext2/ext3 limit is 4 terabytes, but Linux
device files have a 1 terabyte limit.
http://www.cs.uml.edu/~acahalan/linux/ext2.gif
Pay attention to the note on the right.
That explains why apps often break at 2 GB.
Perhaps this is Linus' way of saying: "Ok, Alan, I'm sorry about the VM. Are we even now?"
I have nothing against the ext3 filesystem or the new virtual memory patch but Linus needs to stop adding these relatively radical changes into the so called stable kernel reserved only for drivers and bug fixes. The issue is not that big for most hackers reading this but alot of us run Linux on mission critical servers that we bet our jobs on. Even before the radical kernel patches, all the newer kernels had big-time showstopper bugs. Many admins even run the old 2.2 kernel to avoid unnecessary problems. I have been running 2.4 and had no problems yet luckily. However I really do not know if I can recommend Linux as a server OS anymore. I want stability and Freebsd and Solaris seems to meet my needs alot more. Hopefully this madness will stop soon. We all love to bash Microsoft for releasing buggy service packs for NT that have not been tested thoroughly but there seems to be no real testing with Linux kernel patches. Freebsd conquered this problem by having 2 development teams. One for the stable branch and one for the development branch. No radical changes are allowed in the stable branch and the stable branch must go under lots of testing to be approved to be released as stable. I now know why BSD hackers love there development model. Cutting edge is great for some users but please do not include it in the kernel where a lot of people count on it for servers and mission critical applications.
http://saveie6.com/
So, mark one vote of confidence for reiser.
Okay, if you have a set A with N elements, and you add an element to the set such that set A now has N+1 elements... well, that doesn't change the original 0 through N elements.
Your complaint can be applied to the case of adding driver support to an existing kernel. You see, in the life of a kernel, time passes. As time passes, new hardware, software, algorithms, etc. come out. In order for us to keep modern, we have to add new things to the existing set. You're just... silly.
Going back to my original statement, the new virtual memory subsystem wasn't an addition. He was removing an element from the set and replacing it with something different. That could be argued as bad, but in practical terms it ended up perfectly fine.
Furthermore, if you had done any homework, you'd have realized that ext3 is built using hooks that have been available in ext2 for years. Technically speaking, ext3 is as stable as ext2 because the fs can still function as ext2 if ext3 support goes away or breaks.
So stop bitching about support for new things being added to the kernel. We could only be lucky if new features were added faster. At the very least, stop dumping FUD on us. Your alias is so very appropriate in light of your post.
Why bother.
An important factor in Linux' cost is its maintenance. Linux requires a *lot* of maintenance, work doable only by the relatively few high-paid Linux administrators that put themselves - of course willingly - at a great place in the market. Linux seems to be needing maintenance continuously, to keep it from breaking down.
/dev/hda4 is easier to understand than /dev/ct0s1r4? Also, you're saying that the typical utilities are unreliable? Where's your support? Notice many commercial Unixes (not "Unices"... Unicos is Cray's OS) are moving to GNU utilities? Ugh... this complaint is so unsubstantiated I can't even level a structured retort!
You're off your rocker. Linux boxes have to be admin'ed ONCE in a big way, then they just keep working after that. You've mistaken it for NT, which BREAKS constantly and requires constant attention. I have a Linux server sitting in my closet that I haven't touched for months. It just works and gets heavy use. Not to mention that when used properly, *nix solutions have a constant maintenance cost, while NT solutions require growing fees. What do I mean? With *nix, you have one central box that needs adminning, and all your clients get their apps, configuration, and data from that box. So, if you have N machines, you have 1 box to admin. With NT, every seat has to have its own apps, data, and configuration. You multiply your work load by a factor of N. So, if it costs C dollars to admin one machine, NT costs C*N, while properly implimented *nix solutions are C.
Add to this the cost of loss of data. Linux' native file system, EXT2FS, is known to lose data like a firehose spouts water when the file system isn't unmounted properly. Other unix file systems are much more tolerant towards unexpected crashes. An example is the FreeBSD file system, which with soft updates enabled, performance-wise blows EXT2FS out of the water, and doesn't have the negative drawback of extreme data loss in case of a system breakdown.
More nonsense. ext2 will lose data if the data isn't written to the disk when a failure occurrs. So will UFS. But you won't experience corruption of data you're not working with otherwise. ext2 is stable and solid. It gets corrupted if you fuck with it. Same goes for every other fs.
According to Linux advocates, an alternative to EXT2FS would be ReiserFS. Unfortunately, ReiserFS is still in beta stage. This means it is not intended for production use (although according to many Linux advocates this shouldn't be a problem, which makes me wonder how (little) valuable they find your data).
ReiserFS isn't in beta. It's sufficiently stable and is used by lots of people on production machines.
The other proposed 'solution', EXT3FS, is nothing more than an ugly hack to put journaling into the file system. All the drawbacks of the ancient EXT2FS file system remain in EXT3FS, for the sake of 'forward- and backward compatibility'. This is interesting, considering that the DOS heritage in the Windows 9x/ME series was considered a very bad thing by the Linux community, even though it provided what could be called one of the best examples of compatibility, ever. When it's about Linux, compatibility constraints don't seem to be that much of a problem for Linux advocates.
Uh, no. Backwards compatability is good if the older stuff is still used. Also, the backwards compatability in ext3 does not break its implimentation. DOS is dead and burried. There was no reason to keep support for it lying around, but MS did anyway and it was responsible for a LOT of the instability in Windows 9x/2000. People still using DOS stuff, should not be upgrading. Microsoft just forces them to. Not only that, ext[123] was designed to be EXTENSIBLE, something Microsoft idiots don't seem to understand. Extensiblility is about being able to add future functionality without rewriting or breaking a package. Hooks exist in ext that let you add new features. This is a Good Thing.
Back to Linux' cost. Factor in also the fact that crashes happen much more often on Linux than on other unices. On other unices, crashes usually are caused by external sources like power outages. Crashes in Linux are a regular thing, and nobody seems to know what causes them, internally. Linux advocates try to hide this fact by denying crashes ever happen. Instead, they have frequent "hardware problems".
I'd like to see some statistics. This claim is unsubstantiated. I've seen Solaris boxses drop like flies. However, most Linux boxen I've ever used have been VERY stable and once everythings up and running, it flies smooth for months even years at a time. If "Linux" crashes (what you think is Linux crashing, is actually XFree86 or Mozilla), it's usually recoverable. Don't confuse your lack of knowledge with Linux being unstable.
The steep learning curve compared to about any other operating system out there is a major factor in Linux' cost. The system is a mix of features from all kinds of unices, but not one of them is implemented right. A Linux user has to live with badly coded tools which have low performance, mangle data seemingly at random and are not in line with their specification. On top of that a lot of them spit out the most childish and unprofessional messages, indicating that they were created by 14-year olds with too much time, no talent and a bad attitude.
This is pathetic. Linux makes things at the system level easier for most users to understand. You're saying that, say,
I could go on and on and on, but the conclusion is clear. Linux is not an option for any one who seeks a professional OS with high performance, scalability, stability, adherence to standards, etc.
You're right. Windows is much more stable and reliable. Oh yeah, and Solaris is much cheaper and secure. Forget free software. It sucks. I mean, it's worthless, because it's free, right? I mean, why would it be free if it was good? Anything that's good is worth paying millions for.
You're so hopelessly confused that I can't tell if you're a Windows luser/wadmin or a pro-BSD zealot that doesn't even use BSD but read about the fights between the two camps. Maybe I'm juts feeding a troll here, but I gotta battle the FUD.
Why bother.
The problem is that writers starve readers on ReiserFS. When writing a lot of data (for example, copying an MP3 album or a movie), no processes will be able to read from that filesystem. It's a known problem in the ReiserFS FAQ, but they really downplay it's severity. If you regularly work with large files, or copy large groups of files (more than ~50MB), stay away from ReiserFS.
There are filesystems designed for beowulfs, like PVFS, which let you take the hard drives in a bunch of computers and merge them into one big filesystem. But ext3 has nothing to do with this.
FreeBSD doesn't need a journaling file system: FreeBSD has softupdates, which ensure that the filesystem metadata is always in a consistent state while providing better performance than journaling.
Tarsnap: Online backups for the truly paranoid
It's like what's worse, dealing with a fscks that seems to take hours or increasing the risks of more crashes but at least you get back up faster. I can't live without quotas either. Can you imagine a student in a lab with a 10 Mbps connection to the Internet and a few hundred gigabytes of writable space? :)
It's starting to look like I can't have my cake and eat it too. :(
I'm glad Linus is blessing it. Hopefully the issues will be resolved soon. Until then, maybe redhat jumped the gun including it in their distro...
...nor did I hear an explanation of how this wound up in a 2.4.* kernel instead of 2.5.*, where right now it really belongs, even though AFAICT it's dead stable.
Got time? Spend some of it coding or testing
The only time I've ever seen it upset was when someone ran zgv at the same time as XFree86v4.1 (on a CyberBlade-based mobo video) and caused a hardware insanity then lockup while they were writing config back to /etc... ugh...
Got time? Spend some of it coding or testing
Cryptnotic
My other first post is car post.
Unfortunately, if your file system tools aren't upto date, your root partition won't be mounted ext3. A quick check to see if everything worked is to look at the output from either df or /proc/mounts like this;
In the second column, it should report the filesystem type of each mounted partition. If you don't see / , you should upgrade fileutils.
This is basically how your fstab is currently interpreted, as recorded in /etc/mtab.
If either of these look wrong, check the kernel sources for Documentation/Changes, and verify that you are using the supporting program versions mentioned in the Current Minimal Requirements section.
A firewall can not protect you from yourself. Turn off what you do not need. Do not use the firewall to do your work.
At the time Linus was staunchly against integrating video support into the kernel as a general device driver, even though an ongoing project called GGI (General Graphics Interface) had written a proof of concept video kernel module, supporting libraries, and an X server. Their system prevented these kinds of crashes by providing an abstraction API layer for applications to access the video hardware through the kernel, just as DRI does today, instead of having individual applications responsible for writing to the hardware directly. The argument then was that no userspace application should write directly to hardware considering the potential for race conditions, security problems, etc. And since all other hardware has an API layer through to the kernel, why not video?
This concept won out, but not the GGI project. Which is too bad because they had a good idea and a working system back in '96. I'm sure there were some politics involved, maybe a project lead at GGI pissed Linus off or something. I wasn't paying enough attention at the time.
Just a note about this in comparison with NT: the idea is to abstract out video acceleration routines into a hardware independent API for programmers. In NT 4.0 (which was current at the time), Microsoft placed not a video hardware acceleration API into kernel space, but much of GDI (their windowing system API). Many people thought this was unnecessary kernel bloat and complained vociferously about it being a prime cause of NT 4.0's instability. I'm not an NT programmer, nor do I know much about it's internals, so if anyone wishes to chime up and offer a better explanation please feel free.
One last point: now that DRI provides a direct kernel interface to video hardware, it's quite possible to take down an entire system with an errant DRI kernel module. Yup -- exactly the same kind of problem that linux advocates used to sneer at NT users over. The NVIDEA GForce proprietary DRI kernel modules are a prime example of problem drivers crashing people's systems. Ironic, huh?
Cheers,
--Maynard
I have a tiny box at my home that I use as a router. It's a couple years old now. The box itself is a P100 with all the guts inside loose and hanging all over the place. The HD is > 5 years old and is loud and very unstable, simply doesn't turn on sometimes.
This little machine stays up 24x7 and only goes down when the power goes out, which is at least once a week here. After a power failure, the drive usually doesn't turn back on until the machine is power cycled and sometimes the whole machine will not turn on... and sometimes requires a light smack ; )
Even though this little box is a piece of dying crud, after it powers up properly it fscks and boots linux in about 1 minute and works every time. It has NEVER failed to boot after powering up properly after years of constant use. This Linux install is years old, running an older 2.2 kernel and has required absolutely 0 maintenance, other than smacking the machine to get it to power on ; )
At work we have... haven't counted in a while... say 20 odd machines. About half of them are servers running Linux and 1 BSD box, which do not require any routine maintenance. The other half are running W2k and require constant maintenance. Even if Windows was free, for our small company the TCO would STILL probably be about 3 times that of Linux or BSD. It is simply unacceptable how much time and energy we've had to put into fixing NT and W2k boxes.
Of course, no matter what anyone here says, there will still be people who adamantly claim that NT/2k/XP require less maintenance and have a lower TCO than Linux/BSD and many will claim that the ease of use of windows is extremely important. That is simply false, as if one isn't skilled enough to setup a Linux/BSD box, they're going to be one of the people who's boxes get infected with all the "microsoft worms" that spread around...
Sticking feathers up your butt does not make you a chicken - Tyler Durden
Are there any disk array controllers or other storage devices that do FS-independant journaling at the block level?
It'd be an interesting way of doing backups -- instead of restoring from tape, you could get the disk controller to back out changes to a specific timestamp.
I'm sure there are some gotchas -- without knowledge of the filesystem, a specific hardware level transaction may not have complete filesystem level coherency, for one. And it may take a lot of disk to keep a log of any decent duration.
But it still seems like an interesting way to accomplish some kind of fault tolerance for any OS.
When I first switched to Reiser I had this habit of just turning off the power to my box every few minutes just because I could. No good could come from this. Hopefully as more people switch to journaling FS they will have more self control than I had. Anybody else do the same thing? It is so addictive! Must resist turning off box after I post this...
A JFS doesn't protect your data, it simply allows you to reboot faster after a crash.
"make sure u download the correct patch."
-Legion
I don't judge a filesystem based on what kind of tools are there to 'convert' it from something else. That's not what it's designed for, and has nothing to do with what you get out of it.
No kidding ext2 takes seconds to convert to ext3... it's the same filesystem.
I believe Linus has learned to be a little more realistic with releases. While publicly he states that he doesn't care a hoot about what any polls, groups, or the press want or think, and is only interested in building the best dang kernel, my guess is that he desires to see Linux really catch on in the corporate world (and I'm talking linux vs other unix - not displacing MS.)
The corporate world really wants to see business features in the production kernel such as a rock solid good performing VM, a journaling file system, etc. The older kernels' VM and lack of journalling were really singled out as being critical hurdles for corporate acceptance.
It didn't matter that RedHat had ext3 or ReiserFS, it was needed in the base kernel without messing around with patches. It's more of a mindset / perception thing than reality.
The fact is, the corporate world wasn't going to wait another 2 years for 2.6. Those features really needed to be mainstream now. The only thing I'd really like to see added are extended ACLs, but that can wait. I don't know if a solution to device numbering can if Linus won't assign new numbers... (Alan will however, in his tree...)
Thanks Linus! And a big thanks to all the hundreds of other kernel hackers that made this all possible!
Now Slashdot is posting pre versions of the kernel.
2.4.15pre2 is out!!!
Actually, I've found that putting ext3 (in /etc/fstab) with no ext3 support will automagically mount as ext2. I've also heard that having something like ext3,ext2 will work, but I've never tried it.
/dev/blah and look for the has_journal flag in the Filesystem features field.
Oh, and to check if you have ext3 you can also use tune2fs -l
For your root filesystem, you may also see something like VFS: Mounted root (ext3 filesystem).
Andrew.
You've completely missed my point regarding the set example. If YOU are only using features 0 through N, and not caring one bit about N+x where x > 0, then the addition of those features doesn't affect you. Adding ext3 support is not only minor, it also does not affect you if you choose not to use it. If you don't think ext3 is stable, just don't compile it when you build your next kernel. Simple! You go back to the original set. There's nothing wrong with adding new drivers to stable kernels. It's been done constantly and it's necessary for Linux or ANY operating system to survive.
Why bother.
Otherwise updatedb will ignore your "auto" filesystems (i.e., your whole system) and the slocate database will be empty.
Well, ext3 is very easy to test out, and it will soon get a large Userbase. More users means it's getting more attention, which in turn means more development. The different journaling filesystems are not too different from each other considering performance (and that's what most people are concerned with), a while ago reiser was the best performer AFAIR, but with more development going into ext3 that might soon change. I think it makes sense to put your bets on the Filesystem where you expect the most development to happen.
"By the way if anyone here is in advertising or marketing... kill yourself." -- Bill Hicks
Red Hat 7.2's release notes on ext3:
Please keep in mind that even a journaling file system can be damaged by power loss. When a system loses power, that system's behavior is
undefined. For example, memory contents can decay (become randomly corrupt) as the contents are copied to a hard drive running on the
last bit of power. This is a fundamentally different situation from the more defined sequence of events caused by pressing the system's "reset" button while the system is running. In addition, IDE hard drives do not provide all of the write order guarantees that SCSI drives do.
In the case of ext3, I actually agree with what is otherwise the greatest example of weasel-wording since the Evangelists excusing everything Apple does.
ext2 does not synchronously write metadata -- a power fail can hose everything. Thus I consider ext3 a bugfix on ext2, albeit a somewhat radical one. Same goes for the AA VM, a radical bugfix on a broken VM that should have been a show-stopper for 2.4 in the first place.
Otherwise, you're pretty much the kind of support Linux frankly doesn't need. Keep giving people attitude, soon enough you won't have to anymore, because they'll turn elsewhere.
I've finally had it: until slashdot gets article moderation, I am not coming back.
It's not true.
If you have only SCSI disks, it may be true, if your disks are from a very reputable manufacturer. (They are few, and charge more.)
If you have IDE disks, it is almost certainly false. IDE disks report data successfully written to disk when it is still only in on-board RAM buffers. Even when told not to, they often do it anyway. (Lying results in better benchmark scores.)
If you have IDE disks, journaling will help protect you against various lockups and crashes, but if the disk is active when the power goes out, all bets are off. If you think you didn't lose data, maybe you got lucky, or maybe you just haven't noticed your losses yet.
The reason IDE disks are cheaper than SCSI is that the people who buy IDE disks have much, much lower quality standards. To compete, the manufacturers are forced to deliver lower quality. If you care about reliability, buy SCSI (or fiber-channel, or ...).
If you use IDE, watch that power switch, and keep current backups. If you maintain critical data, invest in a UPS. Journaling is not a substitute for a UPS, it's just a time saver.