Slashdot Mirror


EXT4 Is Coming

ah admin writes "A series of patches has been proposed in Linux kernel mailing list earlier by a team of engineers from Red Hat, ClusterFS, IBM and Bull to extend the Ext3 filesystem to add support for very large filesystems. After a long-winded discussion, the developers came forward with a plan to roll these changes into a new version — Ext4."

16 of 182 comments (clear)

  1. Sounds like a good idea. by Ant+P. · · Score: 5, Funny

    This'll fill the gap between now and when Reiser4 is declared stable - some time after Duke Nukem Forever gets released.

    1. Re:Sounds like a good idea. by CRCulver · · Score: 4, Interesting

      This'll fill the gap between now and when Reiser4 is declared stable

      Reiser4 will never be declared stable in the Linux kernel because Hans Reiser refuses to make his code conformant to kernel coding standards. There has been long and wearying discussion of this on the LKML.

    2. Re:Sounds like a good idea. by hansreiser · · Score: 4, Informative

      What are you talking about? I said I didn't like the coding standards. I then had us change the code to conform to them.

  2. Yes but by Anonymous Coward · · Score: 5, Interesting
    Yes, but will it be enough if you had energy to boil all the oceans?

    Interesting bit from wiki/ZFS:
    ZFS is a 128-bit file system, which means it can provide 16 billion billion times the capacity of current 64-bit systems. The limitations of ZFS are designed to be so large that they will never be encountered in any practical operation. When contemplating the capacity of this system, Bonwick stated "Populating 128-bit file systems would exceed the quantum limits of earth-based storage. You couldn't fill a 128-bit storage pool without boiling the oceans."

    In reply to a question about filling up the ZFS without boiling the ocean, Jeff Bonwick, an engineer at Sun Microsystems who led the team in developing ZFS for Solaris, offered this answer:

    "Although we'd all like Moore's Law to continue forever, quantum mechanics imposes some fundamental limits on the computation rate and information capacity of any physical device. In particular, it has been shown that 1 kilogram of matter confined to 1 liter of space can perform at most 1051 operations per second on at most 1031 bits of information [see Seth Lloyd, "Ultimate physical limits to computation." Nature 406, 1047-1054 (2000)]. A fully-populated 128-bit storage pool would contain 2128 blocks (nibbles) = 2137 bytes = 2140 bits; therefore the minimum mass required to hold the bits would be (2140 bits) / (1031 bits/kg) = 136 billion kg.

    To operate at the 1031 bits/kg limit, however, the entire mass of the computer must be in the form of pure energy. By E=mc2, the rest energy of 136 billion kg is 1.2x1028 J. The mass of the oceans is about 1.4x1021 kg. It takes about 4,000 J to raise the temperature of 1 kg of water by 1 degree Celsius, and thus about 400,000 J to heat 1 kg of water from freezing to boiling. The latent heat of vaporization adds another 2 million J/kg. Thus the energy required to boil the oceans is about 2.4x106 J/kg * 1.4x1021 kg = 3.4x1027 J. Thus, fully populating a 128-bit storage pool would, literally, require more energy than boiling the oceans."
    1. Re:Yes but by Anonymous Coward · · Score: 4, Informative

      That post makes more sense if you realize that there should be ^ marks to show exponentiation, such as 10^51 and 2^140. Otherwise it just looks like gibberish numbers that someone made up and stuck in the wiki for shits and giggles.

  3. LWN article on ext4 by ElMiguel · · Score: 5, Informative

    LWN had an interesting article on ext4 not long ago.

  4. ClusterFS by schon · · Score: 5, Funny

    engineers from Red Hat, ClusterFS, IBM

    OK, hands up - who wants to run ClusterFS so that they can say they needed to do a "clusterfsck"?

  5. Re:Modularizable filesystem by Bogtha · · Score: 5, Informative
    --
    Bogtha Bogtha Bogtha
  6. Re:define very large by Kjella · · Score: 5, Insightful

    Let me put it this way, it's a little past the average slashdot porn collection:

    ext3: 8TB total, 4TB files
    ext4: 32 zettabyte (1024*1024*1024 TB), 1 exabyte files (1024*1024 TB)

    Beyond that, it doesn't seem to actually change much.

    --
    Live today, because you never know what tomorrow brings
  7. Why EXT4 ? by Anonymous Coward · · Score: 4, Interesting

    Ext4 is an extention of ext3, much like ext3 is an extention of ext2. The plan is to ensure backwards compatability and sanity for when things break, and with filesystems.. things break.

    There are many factors that influence filesystems, not just "how fast it can write", but rather.. how it breaks when it does.

    While the fanboys of XFS, JFS, ZFS may promise that their filesystems are faster, had no problems, secure and will not eat your data, it simply is not as proven as ext2 and ext3.

    Scream fanboys scream, someone will listen, but the problem is that these filesystems are not proven in the field, or in some circumstances even in the kernel itself.

    1. Re:Why EXT4 ? by Frumious+Wombat · · Score: 4, Informative

      Actually, XFS (SGI), JFS (IBM), and ZFS (Sun) are very well proven in the field, on their respective native operating systems. Given the situations they're used in (financial sector, pharmaceutical research data, supercomputing), they're far more proven that EXT(anything). Now, whether the average Linux user knows how to install, tune, and use them is a different issue, but if I were worried about scalable, mission-critical, filesystems, those three would be on the top of my list. (and my personal history says that while XFS never gave me any trouble, JFS would be my first choice. Nobody ever let me have a budget large enough to buy a machine that would justify ZFS).

      With IBM's know-how in the mix, EXT4 may be able to join the above three, but it would seem to be time better spent fixing XFS/JFS support in Linux first, rather than worrying about backwards compatibility with EXT2.

      --
      the more accurate the calculations became, the more the concepts tended to vanish into thin air. R. S. Mulliken
  8. Re:Why only 48 bits? by r00t · · Score: 4, Interesting

    With a block size of 32 kB (64 kB is expected to be supported soonish) the 48-bit numbers will take you 1 byte over the maximum file size that apps can support. There is no UNIX-like OS that lets an app handle files bigger than 2**63.

    We'll need to adjust other things if filesystems ever get so huge. The whole design probably needs a rethink, but we can't do it now. We don't know what the future holds in terms of seek times, transfer rates, sector sizes, etc.

  9. Re:Modularizable filesystem by Bogtha · · Score: 4, Insightful

    the premise that Reiser is more stable than ext3 "because it has been out longer"

    It's dishonest to put something in quotes when it's not a direct quote. The exact quote is:

    "We don't touch the V3 code except to fix a bug, and as a result we don't get bug reports for the current mainstream kernel version. It shipped before the other journaling filesystems for Linux, and is the most stable of them as a result of having been out the longest. We must caution that just as Linux 2.6 is not yet as stable as Linux 2.4, it will also be some substantial time before V4 is as stable as V3."

    There's a substantial difference between saying that something is more stable "as a result" of something and more stable "because" of something. He's not claiming that being out longer intrinsically makes it more stable as your misquote suggests, he's claiming that it led to reiserfs becoming more stable - because of the practices he mentioned.

    In short - something being out longer == more stable? No. Something being exposed to lots of real-world use and receiving only bugfixes == more stable? Yes.

    the quote from Adam Smith

    He didn't quote Adam Smith, he drew an analogy between what he was saying and the network effect. It's an entirely reasonable analogy.

    the ridicule of the unix approach of everything as a file

    What ridicule? He's actually supporting that approach. For example:

    Can we do everything that can be done with {files, directories, attributes, streams} using just {files, directories}? I say yes--if we make files and directories more powerful and flexible. I hope that by the end of reading this you will agree.

    Would you care to point out where you thought he was ridiculing the UNIX approach?

    all the naked people covered in newsprint

    Yeah, they look dumb, don't they?

    Anyone have a "more technical" link

    I can only assume you mean something other than "technical".

    without dancing trees

    Dancing trees are a fundamental part of the design. How are you meant to understand the filesystem without understanding dancing trees?

    and with a bit about how to recover your filesystem when something goes weird with the hardware even if the filesystem is perfect?

    Ah, you don't mean technical at all, you mean practical for somebody who is entirely uninterested in the way the filesystem works. Perhaps Reiser4 Transaction Design Document is what you are after, but I doubt it.

    --
    Bogtha Bogtha Bogtha
  10. Pattern by Eudial · · Score: 4, Funny

    Ext2...Ext3...Ext4

    Wait... I think I can detect a pattern. The next number has to be Ext7½!

    --
    GAAH! MY PRINTER IS ON FIRE!!! PUT IT OUT! PUT IT OUT!
  11. fsck quality by r00t · · Score: 5, Informative

    Nobody has a fsck that can compare to e2fsck (ext2/ext3/etc.) for quality.

    The e2fsck program has a huge test suite that it must pass before a release. A set of corrupted filesystems must be correctly repaired to be bit-for-bit identical to the desired result.

    A typical fsck has a good chance of crashing (SIGSEGV, the "segmentation violation") when the going gets tough.

    While FreeBSD's UFS developers were messing around with sync writes to avoid testing a fsck that would often crash, the ext2 developers ran full async and wrote a damn fine fsck to put things back in order. Now you can choose from three different levels of journalling, and you still get the ass-kicking fsck program.

    There basically is no fsck for XFS, Reiserfs, or Reiser4. JFS doesn't have much AFAIK, and ZFS is a newborn.

    What are you going to do when your fancy filesystem gets trashed? I hope you keep excellent backups, very recent and tested to be readable.

  12. Re:Well, how does a Honda Civic ... by DavidS · · Score: 4, Informative

    This is true, but let's look at the case of 1-2 drives:

    Assuming we still want mirroring or volume management on our two drives:
    The overhead is still greater for SVM or for linux md and sistina lvm. Both require more administration knowledge, time, and commands to accomplish the same tasks that ZFS can do in a couple commands. (Yes, I'm aware that mdadm helps the process a *bit*, but it's still obtuse.) Anyone who has setup either knows how annoying anything is with either choice. (having to micromanage partitions, etc.)

    The biggest thing for ZFS in a ``small'' 1-2 drive usage case is, in my opinion, the pooling: ZFS doesn't require one to set volume sizes in advance. Since everything pulls out of a common pool, the size of volumes can grow or shrink accordingly. (Affected by free pool space or volume quotas.) So, that means that one can just create their volumes, and not have to worry about making them the wrong size.

    I'd also argue that fault tolerance is important anywhere, large or small.

    Another thing is on-disk, low overhead, compression that can be enabled just by toggling one filesystem paramater, live. For a lot of things that people store, this compression would save a lot of space.

    They really put a lot of thought in ZFS. It scales amazingly well, from small to large. I'm not really giving it justice explaining it here, so I'd encourage you to look at the documentation with an open mind before just writing it off as an ``enterprise only'' thing.

    dks
    (I have no affiliation with Sun in any way.