

ext3fs in Linus' Kernel Tree 384
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."
In the immortal words of Monty Python... (Score:2, Redundant)
What? I didn't see any musos getting eaten (Score:2)
Re:What? I didn't see any musos getting eaten (Score:4, Interesting)
Heck if we can swap out the VM midstream, this is nothing :) Actually I think Linus was VERY smart to push the new VM into the kernel. Why? Because I believe he avoided a LOT of people running patched kernels until 2.5 was released. It was obvious the 2.4 VM was broken. Had he held off, folks would have realized (though probably slowly) that the new VM was better and they'd have patched it in anyway.
The same holds true for ext3. RedHat is already shipping it with RH 7.2. Its rock solid from their standpoint. So it makes sense to include it in the stable kernel. Sure, we all wish Linus had the ESP ability to have known to include these things at 2.4.0 (wait the new VM didn't exist then :) ) but given current circumstances, these are smart moves. Otherwise we'd all be patching kernels for another year to get ext3 (if we wanted it) and the new VM.
Yes, I realize patching kernels is a fact of life - I do it all the time to get XFS for my desktops and servers, but the less patches I need to worry about the better.
We can stick our noses in teh air and talk about how Linus never let big feature patches into the kernel before - well, everyone is allowed to change their mind. Besides, its not THAT huge a deal. If you're worried about stability, stick with what works. But if you need newer features for your setup, you can use a more recent stable kernel.
In the end, this ensures stuff in high demand sees production use earlier. If we waited to 2.6, you'd just be delaying it to far, not just for the new kernel development time, but also the 'I can't use 2.6.0 in a production box) so you'd wait until a later release. Just like you've waited to deploy 2.4.x production, right? :)
Things change. RIght now, I'd say for the bulk of the production systems, the smart move is to wait until Linus hands the kernel off for maintenance. Once that happens it'll see MUCH less churn. Befure we had 2 release stages... 2.x where x is odd for development, 2.even#.low# for release beta, and 2.even#.big# for stable production ready kernels I think thats a good thing. Besides its all relative - saying Linus shouldn't put x, y, z in the kernel because the last number is too high is pointless. We just need to adjust to the new release schedule!
I'm glad 2.4 has what it has. Now hopefully 2.6 will have XFS and I can run vanilla kernels again (nah - never gonna happen :) )
Re:What? I didn't see any musos getting eaten (Score:2)
What I meant to say in the paragraph near the end was we used to have a two stage release cycle: 2.odd for development and 2.even for stable prodcution, now we have a 3 stage release. 2.odd for development, 2.even.low# for large scale beta test and late features, and 2.even.high#/maintenance handoff from Linus for production stable releases. I think the latter is a good thing.
ext3 needed in main tree now (Score:3, Interesting)
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!
Re:What? I didn't see any musos getting eaten (Score:2)
1) People are already using it and it seems stable
2) Alan already had it in his tree.
3) Putting it in makes life easier for Marcelo Tosatti. If Linus and Alan both agree that it should be in the kernel then people think it probably should be. If Marcelo includes ext3 on his own, people would question his judgement. On the other hand if Marcelo leaves it out and Alan stops producing his -ac tree then people who have been using ext3 will be upset.
4) Ext3 doesn't change anything.
5) You still can use ext2 if you want.
Hurray! (Score:2, Interesting)
Yay!
-David
Steady as a rock (Score:2)
Finally! (Score:3, Informative)
-Alien88
ext3, a journaled ext2 and not much more... (Score:5, Informative)
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.
Well.. (Score:5, Insightful)
No kidding ext2 takes seconds to convert to ext3... it's the same filesystem.
Userbase ... (Score:2)
Re:Userbase ... (Score:2)
I don't expect that much development into ext3. Why? It has a clearly defined goal: Journalling. Once journalling works, and is optimized... that's it.
Reiserfs, and others, have many other features as well.
Re:ext3, a journaled ext2 and not much more... (Score:4, Informative)
Because you're not really converting the filesystem. The process consists of:
That's the beauty of ext3 - it is essentially ext2 with journaling, no more no less.
In fact, since this is the case, you can mount an ext3 filesystem as ext2 if you ever need to - the compatibility goes both forward and backward.
Re:ext3, a journaled ext2 and not much more... (Score:2, Insightful)
Re:ext3, a journaled ext2 and not much more... (Score:2, Informative)
History of kernel video drivers (Score:4, Interesting)
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
Re:History of kernel video drivers (Score:2, Informative)
Aside from this, as I understand it, due to the design of PCs, it's not impossible to stop anything that directly writes to your graphics card from screwing it up, as your graphics card can do exceptionally unpleasant things to the rest of your machine. DRI is meant to have lots of checks to try and avoid nastiness happening to your kernel from your video card, and apparently it seems to work.
Re:ext3, a journaled ext2 and not much more... (Score:2)
Of course, the real solution is to use a graphics card from a vendor that doesn't treat Free Software with such contempt..
Re:ext3, a journaled ext2 and not much more... (Score:2)
1) Intellectual property. NVIDIA doesn't own everything in the driver, and thus can't open it.
2) Competition. ATI's OpenGL drivers suck ass (they really hold the new 8500 card back). Don't you think they'd just love to get their hands on NVIDIA's code? NVIDIA has invested a lot of time and money into making solid OpenGL drivers, why should they just let ATI have it for free? Remember, and OpenGL driver isn't like an ethernet driver. An ethernet driver just interfaces the kernel network layer to the hardware. An OpenGL ICD, on the other hand, provides the entire OpenGL subsystem, from user-level API down to banging registers on the hardware. Its like the NIC driver AND the entire kernel network stack.
Re:ext3, a journaled ext2 and not much more... (Score:2)
Re:ext3, a journaled ext2 and not much more... (Score:2)
You are completely wrong. __All__ journal file systems assure __filesystem__ consistency, which means that metadada consistency is guaranteed.
Some of them don't assure data consistency, which means the data __in__ the file could be inconsistent if there were changes not commited to disk.
AFAIK, ext3 also provides/provided (it's expensive) data consistency.
Re:ext3, a journaled ext2 and not much more... (Score:4, Insightful)
Re:ext3, a journaled ext2 and not much more... (Score:3, Insightful)
Some important points... (Score:5, Informative)
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...
Re:Some important points... (Score:3, Informative)
Re:Some important points... (Score:2)
And I'm tempted to disregard any arguments that start with something as ridiculously juvenile as "Bzz. Try again."
Re:Some important points... (Score:4, Funny)
No. The churchmans driveyard if filled with cucumber patties. "Whallyop!" cried the toady queen, of the mice that lists the bardic salamanders.
Re:Some important points... (Score:3, Informative)
Yes and no. Functionally, that's strictly true. Internally, ext2 and ext3 have diverged somewhat. Ext3 does not share any common files with ext3 at this point. Ext3 is still buffer-oriented, wheras Ext2 has largely been converted to use the page cache. The page cache aspects of ext2 are expected to be added to ext3 in due course. At some point, there may be a full merge of the two code bases, though that's going to be a fair amount of work.
Re:Some important points... (Score:2, Funny)
So now there's a code fork, and the only difference is case sensitivity?
Yeesh, and I thought having to distinguish between stdlib "FILE" and kernel "file" was bad.
Re:Some important points... (Score:2, Informative)
Re:Some important points... (Score:4, Informative)
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.
That's not entirely true for a couple of reasons; first of all, the ext3 code *started* as an exact duplicate of ext2, then they added journalling support. A lot has changed since then(in both code bases), so they're not identical any more. Secondly, journalling does not mean that there's no fsck; it just means that it's an order of magnitute or four faster. This is because during the filesystem consistency check, we know *exactly* where to look for problems(thanks to the journal). This doesn't result in better data protection, but it does result in better availability(and hence uptime).
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?
It should be noted that XFS has been around for years. I think your basic premise is still correct, though - neither XFS(in the scope of the Linux kernel) nor ReiserFS have been tested as extensively as ext3. And since ext3's code base started as ext2's code base, it doesn't even need so much checking.
Re:Some important points... (Score:2)
Secondly, journalling does not mean that there's no fsck; it just means that it's an order of magnitute or four faster. This is because during the filesystem consistency check, we know *exactly* where to look for problems(thanks to the journal). This doesn't result in better data protection, but it does result in better availability(and hence uptime).
This isn't true. You do _not_ need to run fsck on a journal partition. A Journal does not simply say "hey the problem is here, just fix these inodes!". A Journal contains exactly what should of happened and what did happen so the inconsistance state can be repaired by "replaying" the not-yet-executed portion of the journal.
For all intents, you don't need fsck at all. For example, RedHat 7.2 will prompt and ask if you would like to fsck a dirty partition (after the journal replay). Most people say no. If you say yes, most likely nothing will occur since everything is now consistent. It is for the paranoid.
Ext3 is pretty nice, btw.
Re:Some important points... (Score:2)
Re:Some important points... (Score:2)
The key word there is "sometimes". Stephen Tweedie recently commented [iu.edu] on the Linux Kernel mailing list that resierfs is significantly faster on empty filesystems, but slows down as the filesystem approaches 90% usage (which is pretty typical for a production box).
Re:Some important points... (Score:2)
Large file support? (Score:2, Informative)
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.
ext2 limit graph (Score:4, Informative)
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.
it's really simple (Score:4, Interesting)
Re:it's really simple (Score:4, Funny)
You know, ext3 doesn't prevent your disk from bursting into flame or lapsing into seasonal depression and jumping off a cliff or something.
Re:it's really simple (Score:5, Insightful)
I'm hoping by this comment that you're not the same user who's Ask Slashdot just got posted, asking how to become a UNIX admin, cuz this ain't it. It's funny that you should pick that exact number too, because a close friend of mine was shifting disks around in his systems yesterday. At some point he lost track of exactly which hard drive was connected to which ribbon and which IDE port that ribbon was connected to. He ended up running a fresh install of RH7.2 over the 30GB hard drive to which he had "backed up" everything he has collected over the last five years. He called me saying he felt like he was going to throw up.
I say "backed up" because, as an enterprise systems architect, I don't believe anything is a backup unless it takes at least a little effort to destroy the data. You can't throw a write protect tab on a hard drive. When I traded a P75 system for a 10GB hard drive with the friend above, he gave it to me with over 5GB's of his stuff on it. I backed it up to tape with Amanda, and write-protected the tape. I never thought *he* would need me to restore his data off my tape.
Those benchy thingies... (Score:3, Interesting)
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!
Re:Those benchy thingies... (Score:2)
http://markybobdeb.sf.net/elf/tests.txt
Kernel used was 2.4.13; first compile without ext3 patch, second compile with ext3 patch and ext3 code hardlinked.
Re:Those benchy thingies... (Score:2)
matt-fu, you are absolutely correct
In all seriousness, upon further consideration of my (parent) post, a certain quote comes to mind:
"There are lies, damned lies, and benchmarks."
I seem to recall this being most true of filesystems and databases. Hell, I've got a couple of decent PIII machines not doing much, time to have some fun (perhaps later on, buy new hard drives after my "tests" cause platter issues...).
Thank you for the reply!
Re:Those benchy thingies... (Score:2, Interesting)
I wouldn't be too surprised; ext2 by default does completely asynchronous writes, while ext3 is more reasonable and flushes data to disk before transactions commit.
You may want to mount your ext3 partition with the data=writeback option, which is closer in behavior to ext2, or alternatively mounting your ext2 partition sync. But ext3 has not been thought for high performance, reiserfs probably fares better.
That said, I'm still using ext3 on my Linux boxes rather than reiserfs as the latter has a history of being unexportable by NFS (something to do with inode management). Now they say it's OK, but I'd have to look a bit deeper.
Re:Those benchy thingies... (Score:2)
Anyway, I converted the filesystem to Ext3.
Is it light on HD requirements? (Score:3, Interesting)
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.
Re:Is it light on HD requirements? (Score:2, Informative)
The new fstools will create it for you with the -j option to mke2fs or tune2fs, but in the old days we created it with dd and passed it's inode to the kernel by a mount option - but only for the first mount.
For my partitions of between 250Mb and 1.5Gb, I use a journal of 8Mb and have no problems. A bigger journal will allow more data to be journaled before it fills and a flush is forced, so is more efficient, but for a small disk with no big writes, a 4Mb to 8Mb journal is more than sufficient.
BTW, the current code allow (I think) off-media journals, so you could use journal across disks, or to a battery-backed ramdisk, or an IDE disk implemented with battery backed DRAM, or SRAM.
Unfortunately, FLASH disks would exceed their maximum-number-of-writes specification in about a year, based on a write every 30 seconds.
astfgl@iamnota.org
Re:Is it light on HD requirements? (Score:2, Informative)
With ReiserFS, the journal size is 32MB, regardless of the partition size. Apparently [redhat.com], though, the journal size on an ext3 partition is variable, and is just 15MB by default. (Look for "Disk space" toward the end of the page.) See also the man page for tune2fs(8) with a reasonably recent version of e2fsprogs.
Re:Is it light on HD requirements? (Score:2, Funny)
Or if you can't get yourself to dance naked in front of drooling geezers, a few blowjobs administered to the same geezers in the john or the parking lot will do the trick.
Re:Is it light on HD requirements? (Score:2)
And by the way, all you young but poor college students. Why live on ramen and work at a substandard computer? Take this guys advice!
Re:Is it light on HD requirements? (Score:2)
I also have a 1 gig, but it doesn't work in the system (it doesn't recognize it).
GNU/ext3fs (Score:3, Funny)
Finally! (Score:2)
Source Forge uses ReiserFS (Score:5, Insightful)
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.
Re:Source Forge uses ReiserFS (Score:2)
Journalling for the unshaven masses? (Score:2, Interesting)
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 [tech9.net] patch would make it in. Unfortunately, it looks like that's going to wait until 2.4.5 [zork.net]. *sigh*...
Linus on preemptible kernel (and Tweedie on ext3) (Score:5, Informative)
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.
Re: (Score:2, Offtopic)
ReiserFS kills interactive performance (Score:2, Interesting)
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.
Re:ext3 or ReiserFS or XFS - is this the question? (Score:2)
But the lack of a fsck is inexcusable. I have has a couple of "events" which might have corrupted a filesystem (my fault, not resierfs'), but had no way to check. Once, I went through my partitions one by one, copied them to a temp partition, mkfs'ed them, and copied them back. I put up with it because it was a pain in the butt to switch. Now that ext3 is in a Linus kernel, I am seriously considering running some tests, and converting back.
I wish Linus would stop this (Score:2, Troll)
Uh, No. He's Adding Support, Not Replacing ext2 (Score:4, Insightful)
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.
Re:Uh, No. He's Adding Support, Not Replacing ext2 (Score:2)
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.
You don't get the set analogy, do you? (Score:2)
Re:I wish Linus would stop this (Score:2)
Re:I wish Linus would stop this (Score:2)
What took the majority of the time? So far I've upgrade from 4.4-RELEASE to 4.4-STABLE and it was very smooth. The only thing I could see taking a long time is doing the mergemaster to merge in config changes. But even that I can't see taking a whole hour... The compile time might be a bit lengthy for buildworld but that is unattended.
Re:I wish Linus would stop this (Score:2, Insightful)
Think of ext3 as "only a driver" -- which in your book is OK for a stable kernel. In terms of how much the code disturbs the rest of the kernel if you don't compile it in -- it really doesn't, just like a driver.
The VM change in 2.4.10 -- there I agree with you. (As does Linus, apparently, as he later admitted.)
Re:I wish Linus would stop this (Score:2, Informative)
B) At least Linus isn't terrified of making changes to the existing code base and fixing inherent problems, regardless of his testing base. I just ran into an issue on Solaris where as we had a middleware daemon (TIBCO Rendezvous) which hit upon a rather serious flaw in 32-bit Solaris where it could not resolve more than 256 calls to alias a port/service. At 257 the call to resolve a service alias would just fail. We talked to Sun about it and they said they knew it was an issue an refused to change it (ever) cause it would require them to change a foundation C struct that might break a bunch of apps. I understand Sun's viewpoint, but they have taken the 'safe' approach where they are locked into code limitations of the past. Great, so I get stuck with un-documented bug-crap forever.
C) Linus is the visionary, not the tester. If you don't trust RedHat or others to test the upgrades, and you don't have the desire/bandwidth to do it yourself, then you either shouldn't be running Linux or shouldn't be considering upgrades.
Re:I wish Linus would stop this (Score:2)
True, as long as the kernel is labeled "bleeding edge". As far as I understood, that was what the even/odd numbering was for: 2.3.x, 2.5.x unstable, but 2.2.x and 2.4.x stable. "Even" kernels are meant to only receive bugfixes or rather peripheral additions (new drivers, yes, and also new filesystems), but no fundamental changes (new VM...).
If this had happened during 2.3.x, nobody would have complained. People even don't expect the 2.3.x kernels to compile... After all, this is what the development branch is for. But on the other hand, such changes have no place in the so-called stable branch.
ReiserFS (Score:2)
So, mark one vote of confidence for reiser.
ext3 and quotas.... (Score:4, Interesting)
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...
Re:ext3 and quotas.... (Score:3, Informative)
Re:ext3 and quotas.... (Score:2)
What about 2.5.x? (Score:2, Informative)
Cryptnotic
Tip: Root partition not being mounted ext3? (Score:4, Informative)
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.
Re:Tip: Root partition not being mounted ext3? (Score:2, Informative)
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.
minor gotcha with "auto" (Score:2, Informative)
Otherwise updatedb will ignore your "auto" filesystems (i.e., your whole system) and the slocate database will be empty.
Hardware journaling? (Score:2, Troll)
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.
Re:Hardware journaling? (Score:2)
As for restoring changes with specific time stamp, there are three problems with that:
1. The amount of storage space required would grow exponentially (depending on how fine-grained the timestep is).
2. The speed would go down the toilet (again, depending on the timestep).
3. It would still be file system-dependent.
FYI, the NetApp filers have the "snapshot" feature which allows you to recover deleted files. But note that it works only for deleted files. It does not keep track of modifications. So that's really trivial (something similar to "recycle bin" in windows), and could easily be implemented in any file system. Speaking of which, I'm surprised it hasn't been done yet.
Re:Hardware journaling? (Score:2)
Why is that? A simple version of what I'm thinking of would be a disk controller with two disks attached. One is your real disk the other is the journal disk. Every block level operation would be written twice, once to the real disk, and one to the transaction log with a timestamp.
Clearly any reasonably busy filesystem would require a lot of storage to maintain the transaction log (and maybe that's what would make this impractical for high-volume systems), but how many systems with 100G of disk modify all 100G every day? 100G of disk with 10G of modification per day could be journaled for at least 9 days with an equivilent journal disk.
Speed is a non-issue, IMHO. Any reasonably modern disk array controller can handle mirrored writes with no problem, and this is not much different from mirroring.
Many SAN storage systems have the ability to make snapshot copies of individual LUNs, I was told by one vendor that they were working on the ability to make incremental copies of a snapshot.
Journaling a LUN seems like a logical extension of this ability, and a way to provide fault tolerance.
Problem with Journaling FS (Score:3, Funny)
You can't just power off (Score:2, Informative)
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.
Just Great (Score:2)
2.4.15pre2 is out!!!
Re:Just Great (Score:2, Funny)
Ext3 not safe against power-down (Score:2, Informative)
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.
Re:Yay! (Score:2, Informative)
Re:can somebody tell me.. (Score:2)
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.
Re:can somebody tell me.. (Score:3, Funny)
Perhaps this is Linus' way of saying: "Ok, Alan, I'm sorry about the VM. Are we even now?"
Re:Forgive my ignorance, here... (Score:3, Informative)
Here's a quick explanation of a journaled filesystem, courtesy of LinuxPlanet.com [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.
Ugh... More FUD From Within... (Score:4, Insightful)
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.
Re:Ugh... More FUD From Within... (Score:2)
Re:Ugh... More FUD From Within... (Score:4, Interesting)
I have 1 linux box that is only accessable via Packet radio. It is currently about 250 feet in the air and about 35 miles away running on a 386 1/2baby motherboard (tiny mobo, almost a sbc too.) I installed in 1996 for the local ham radio group. It acts as a packet repeater/packet BBS and runs off of a Solid state IDE disk drive (A whopping 20 megabytes!!!)
It runs Kernel 1.2.5 from a reallly old yggdrasil distribution.
It hasn't been touched cince and has only rebooted because of power failures.
Linux is so horribly stable that it has worked flawlessly without attention for 6 years...
I dare anyone to show me a windows/dos/Xenix install that can do the same. Would you put it in a place that makes it basically impossible to get to without hiring someone at $290.00 an hour to bring it back down to you.
I can attest to that (Score:3, Interesting)
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...
Re:Ugh... More FUD From Within... (Score:2, Informative)
Just FYI, DOS was gone in the "pro" MS OSes for years. There is no trace of it in NT, 2000, or XP.
2000 is actually quite stable in a production environment. It may not be as stable as a properly stripped-down and customized Linux install, but it's pretty damn close. It manages to do that with a good bit more user-friendliness.
Backwards compatability is good if the older stuff is still used. Also, the backwards compatability in ext3 does not break its implimentation.
The old stuff in DOS was still used by some people, that's why it's there. You know what? Much of Linux is not so much binary compatibility with previous releases, but it's idea compatibility with ancient software. If I was writing an OS from scratch, you can bet I would not target source compatibility with 60s software as my primary goal. That's what Linux is - a clone of old software. I find it quite amusing all these people insist Linux is the future, when all it really tried to do was emulate the past.
Back to filesystem design - just because it's still used, doesn't mean it should stay in use. You have to keep using something while the new it brought in...but justifying software's existence by the fact it's in use is the exact argument MS uses. EXT2 is dead. EXT3 is a hack on top of EXT2 to make it slightly more modern. Think of it liek Windows 3.1 on top of DOS. Now you get it. We need something new, and there are filesystems coming that will be the new thing. If you want to see where the Linux FS scene will be in a few years, look at BFS. Journalling, attributes, 64-bit, you name it. EXT3 only does a little of what an FS will have to do in the future. Don't ignorantly assume because somethigg can still be useful now it will be useful in the coming days.
Re:Ugh... More FUD From Within... (Score:2, Informative)
>Worse, try deleting these files and see what it gets you. Then try to do a repair install... oh my. They aren't put back... muahahahaha!
I gave you the benefit of the doubt and deleted them to see what would happen, and then rebooted. Win2K started up with no problems. It didn't recreate them, but I'm posting this with no problems, so obviously they're not very important (which would make sense considering they were 0 byte files).
Command.com is there, but it doesn't run natively - notice the extremely slows peed compared to the native NT command line program 'cmd.exe'.
Re:One thing I like about ext3fs... (Score:2)
There are filesystems designed for beowulfs, like PVFS [clemson.edu], 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.
Re:FreeBSD (Score:5, Informative)
Re:Woohoo! (Score:2)
Re:more about ext3 (Score:2, Funny)
"make sure u download the correct patch."
-Legion