Slashdot Mirror


BSD Journaled File System Ready For Testing

Dan writes "The Journaled File System for FreeBSD (JFS4BSD) Project has the goal of porting the JFS Technology from IBM/Linux to FreeBSD. It uses a log-based, byte-level file system that was developed for transaction-oriented, high performance systems. Scalable and robust, its advantage over non-journaled file systems is its quick restart capability: JFS can restore a file system to a consistent state in a matter of seconds or minutes. The jfsutils is under a compilable state on FreeBSD."

113 comments

  1. {IBM,GNU}/Linux by palfrey · · Score: 0, Redundant

    IBM/Linux? New one on me... GNU/Linux, yes, but not IBM. I don't use the "GNU/" phrase myself, but it's got good reasons. IBM haven't donated *that* much to Linux (not compared to GNU foundation)

    --
    Beware the psychokinetic mimes!
    1. Re:{IBM,GNU}/Linux by Anonymous Coward · · Score: 0

      I think it was just a reference to JFS that was put together by IBM for Linux.

    2. Re:{IBM,GNU}/Linux by Anonymous Coward · · Score: 0

      Linux means soap, toothpaste and personal care progucts anywhay...so why not IBM/Linux.

    3. Re:{IBM,GNU}/Linux by MavEtJu · · Score: 1

      IBM/Linux are the linux-labs at IBM. Nothing more, nothing less. So nothing to see here, keep walking.

      --
      bash$ :(){ :|:&};:
    4. Re:{IBM,GNU}/Linux by WindBourne · · Score: 3, Interesting

      IBM haven't donated *that* much to Linux (not compared to GNU foundation) I am trying to figure out why so many ppl insist that GNU has delivered everything and that companies do not. Who do you think supports GNU and other oss projects? Some of the support is in direct cash. Other times, it is in supporting roles such as tools, bandwidth, etc. They do so by allowing coders to work on company time on these projects. They paid for training for employees that did not directly benefit the company, but it did the employee, esp. with regard to oss. There are many ppl from IBM, HP, Sun, SGI, etc. who have helped on a large number of projects and the company backed them. And yes, I do know each of these companies have had managers who have tried to stop their employees from doing this work, but overall, most have not. Finally, there have been a number of IBMrs who have contributed to Linux in either direct or indirect positions.

      --
      I prefer the "u" in honour as it seems to be missing these days.
  2. A mixed blessing. by cbiffle · · Score: 5, Insightful

    This strikes me as both a good and a bad thing.
    Good, because journalled filesystems are a Good Thing. I use FreeBSD exclusively on both desktop and workstation, and while SoftUpdates is very good, it and journalling have different aims. (SoftUpdates aims to keep all file metadata consistent at all times; journalling aims to keep all file -data- consistent at all times.) Choice is always good, and I could see myself using SoftUpdates on /home and JFS on the maildirs, for example.
    However, this is a bit of a Bad Thing in that one of FreeBSD's simplicities has always been the One Filesystem, UFS. Granted, UFS has evolved some (UFS-Softupdates and now UFS2) but there was never a question as to which filesystem to choose: UFS has enough tunables, most of them automated, that you can optimize it for small-file, large-file, high-latency, low-latency, etc. I've found it to be capable of keeping up with the various Linux filesystems in their own areas. But if this is merged into -current, there will be a choice to make when preparing a slice. This is one of those things that's hard to change after the fact. :-)

    As for me, I'll stick with UFS2 until I see how this shapes up, but tally-ho!

    1. Re:A mixed blessing. by zeenixus · · Score: 1

      so you basically what you are saying is that having a choice is a "bad thing". and in other completely unrelated news,the average iq of slashdot posters takes yet another nose dive.

      --
      In Bob we trust.
    2. Re:A mixed blessing. by ctr2sprt · · Score: 5, Informative
      (SoftUpdates aims to keep all file metadata consistent at all times; journalling aims to keep all file -data- consistent at all times.)
      That's just not true. Soft updates works by ordering writes so that the metadata is always in a consistent state. This has the effect of also keeping the data in a consistent state, since data sits in the to-be-ordered queue right along with the metadata. Journaling filesystems typically track only the metadata (though some, like e3fs, can also do ordered data writes), which means that data can be lost as the metadata is returned to a consistent state.

      Don't believe me? Read the JFS overview from IBM, which says:

      JFS only logs operations on meta-data, so replaying the log only restores the consistency of structural relationships and resource allocation states within the file system. It does not log file data or recover this data to consistent state. Consequently, some file data may be lost or stale after recovery, and customers with a critical need for data consistency should use synchronous I/O.
      The only benefit JFS has over UFS+SU in this context is faster on-crash fsck times. And it only takes about a minute to check a 60GB UFS filesystem after a crash, which is about 3 orders of magnitude better than e2fsck (I don't know how speedy jfs.fsck is in non-replay mode).

      The chief benefit of JFS for FreeBSD is going to be portability. Which is a pretty big one, although I don't see JFS supplanting UFS before FreeBSD 6.0, if then.

    3. Re:A mixed blessing. by Anonymous Coward · · Score: 0

      JFS will never supplant UFS

    4. Re:A mixed blessing. by Nickus · · Score: 1

      The nice thing about UFS in FreeBSD 5.0 is that you have background fsck. So the machine boots really fast and if you have unclean filesystems they will be checked in the background. You can work with your computer in the mean time, you will just notice a slight performance drop.

    5. Re:A mixed blessing. by Nevyn · · Score: 2, Informative
      That's just not true. Soft updates works by ordering writes so that the metadata is always in a consistent state. This has the effect of also keeping the data in a consistent state, since data sits in the to-be-ordered queue right along with the metadata.

      wrong, if you write to the middle of a file then both UFS+SU and a metadata-only journal won't keep the data consistent in a crash (Ie. you can have some old data and some new data).

      If you have a real journal (Ie. data=journal in ext3) then you get consistent data writes too, which is very different. There are other ways to achieve the same thing (WAFL, the unfinished Tux filesystem for Linux) you appear to be correct that JFS only supports a metadata journal.

      --
      ustr: Managed string API with ave. 44% overhead over strdup(), for 0-20B
    6. Re:A mixed blessing. by Anonymous Coward · · Score: 0

      So is ext3 a log-structured file system, rather than a journalled one? There's a BSD log-structured file system called, surprisingly, LFS (IIRC, it was the first LFS). Nobody really uses it, and I don't think it even builds any more (there was an effort to revive it a couple of years back, though, so maybe it does now).

      One of the ideas behind LFS was that all writes (metadata and data) would go to the end of the log, making them quicker (by avoiding seeking all over the place for writes to different files), while reads would generally be satisfied from a large cache, making the often-fragmented nature of files a non-issue.

      In the real world, it was found that reading data spread across the log was a major drawback, which led to the idea of a journalled file system. This reduced the log to the metadata and stored the data in the traditional way. The write performance naturally suffered a bit, but this was more than made up for by the better read performance.

      A JFS is also generally consideredgood enough in terms of recoverability since in-cache data (with write caching) can be lost no matter what file system you're using, and all that's lost is the in-cache data. Corruption of metadata (e.g. with stupid ideas like asynchronous writes), on the other hand, can leave the entire file system in an inconsistent state.

      At the end of the day, if you want to ensure data integrity, i.e. that a write completes before the system call returns, you have to bypass the write cache entirely. In most cases, killing performance for marginally improved data integrity isn't worth it. In those cases where it is worth it, the cache can be selectively bypassed.

    7. Re:A mixed blessing. by Anonymous Coward · · Score: 0

      It can work like a log-structured filesystem depending on the mount option. Actually there are three choices: metadata-journal, everything-journal, and something-else. I can't remember what the third option is, but it has something to do with data ordering.

      Data integrity can be offered in many ways besides bypassing caches (and that by itself isn't enough to do the job). In fact, disabling caches on modern IDE drives is a very bad idea. All major databases have their own scheme for data integrity. The Tux2 filesystem has a scheme. And of course journalling is a way.

      Basically you want the fs to act as if an operation is atomic. It either completes or it doesn't.

      For most people, they just care about fsck times after boot. For them either soft updates or metadata journalling is fine.

    8. Re:A mixed blessing. by Anonymous Coward · · Score: 0

      Atomicity is separate from ensuring a write is complete before the system call returns. E.g. a JSF with write caching will ensure transactions are atomic, but not that the transaction associated with a particular write call has completed when that call returns. If you're relying on that write having actually completed, a JFS with write caching isn't good enough.

      With regard to databases, I've never heard of a database that claims to guarantee data in volatile storage will be preserved if the system goes down. Any database worth the name, on the other hand, guarantees the database will remain consistent and represent the results of all transactions which have actually completed.

      I really would like to hear how the completion of a write transaction can be guaranteed without the performance penalty of writing the associated data to persistent storage.

  3. ReiserFS by DiSKiLLeR · · Score: 2, Redundant

    Whats wrong with ReiserFS (my favourite) or EXT3? or SGI's XFS even? Strangely, i've never even heard of IBM's JFS before, as ReiserFS/EXT3/XFS make all the news here.

    D.

    --
    You can tell how powerful someone is by the magnitude of the crime they can commit and be able to get away with.
    1. Re:ReiserFS by rplacd · · Score: 2, Interesting

      jfs is one of the oldest journalling filesystems available. it's stable, has been stress-tested, is backed by ibm, etc.

      reiserfs and ext3fs are nowhere near as capable. xfs is pretty good, too -- in fact, it's what i use on my debian box.

    2. Re:ReiserFS by Arandir · · Score: 2, Insightful

      ...as ReiserFS/EXT3/XFS make all the news here.\

      And here you have discovered the biggest diffrerence between Linux and *BSD. BSD developers don't give a flying fsck about making the news, they just want good solid stable code. I mean, who out there with more than two bytes of valuable data gives a rat's arse about which filesystem makes the news the most?

      --
      A Government Is a Body of People, Usually Notably Ungoverned
    3. Re:ReiserFS by Sygnus · · Score: 3, Funny
      Whats wrong with ReiserFS (my favourite) or EXT3?

      The GPL.

      --
      First posting isn't trolling. It's...first posting. :) -- Illiad
    4. Re:ReiserFS by Gordonjcp · · Score: 1

      Explain why a GPLed filesystem is bad.

    5. Re:ReiserFS by Arandir · · Score: 1

      Because it's infrastructure. Such stuff should be under the LGPL, BSD, MIT or similar unrestricted or weak copyleft licenses. Even the Linux kernel has an exception that moves its license to the state of weak copyleft.

      --
      A Government Is a Body of People, Usually Notably Ungoverned
    6. Re:ReiserFS by Anonymous Coward · · Score: 0

      You didn't answer the question. "Infrastructure" doesn't explain anything.

    7. Re:ReiserFS by Arandir · · Score: 2, Interesting

      Infrastructure, as in kernel, filesystem, libc, etc., need to be free. Not free as in it pleases RMS, but free as in no restrictions.

      Using this kind of software in an embedded system could mean that unrelated and underived proprietary information might have to be released, since all linkage will be static. If Linux were under the pure GPL without any linkage exception, it would be failing in the embedded market.

      General purpose libraries, and stuff that acts as general purpose libraries (kernels, filesystems) must not place any restrictions on software that merely uses them. But the GPL restricts how you may use the software since it (or rather the FSF's interpretation of the GPL) declares that linkage is usage.

      --
      A Government Is a Body of People, Usually Notably Ungoverned
    8. Re:ReiserFS by Anonymous Coward · · Score: 0

      Thanks, troll.

  4. is it gpl'd? by rplacd · · Score: 1, Interesting

    if so, it'll never end up as part of the base install.

    1. Re:is it gpl'd? by Anonymous Coward · · Score: 0

      Let's hope so. Why anyone would waste their time on this crap is beyond me.

    2. Re:is it gpl'd? by Anonymous Coward · · Score: 0

      A kernel module maybe. Probably not compiled in by default.

    3. Re:is it gpl'd? by Ded+Bob · · Score: 2, Informative

      Yes.

    4. Re:is it gpl'd? by Anonymous Coward · · Score: 0

      It is, and it will never be part of the install, but it's still useful.

    5. Re:is it gpl'd? by geniusj · · Score: 1

      Maybe not enabled by default, but that doesn't mean it won't make the base install. That didn't stop GPL_MATH_EMULATE :-)

    6. Re:is it gpl'd? by bovinewasteproduct · · Score: 1

      GPL_MATH_EMULATE was NOT under the GPL!

      It is under a modified BSDL. How do I know? I'm the one that put it into FreeBSD way back when.

      Here is the clip from the top, it then follows up with a modified 4 clause BSDL (It's almost LGPL).

      This copyright notice covers the redistribution and use of the FPU emulator developed by W. Metzenthen. It covers only its use in the 386BSD, FreeBSD and NetBSD operating systems. Any other use is not permitted under this copyright.

      It was added to the system along with the sun libm so I could use ghostscript on a i386 with no math-co...:)

      BWP

  5. UFS2, XFS, JFS, Vinum, FreeBSD, JunOS, everything! by Zeio · · Score: 4, Insightful

    One of the most impressive things about Linux is the XFS filesystem for it. It is thoroughly tested, production quality, and extremely robust. It is a please to deal with XFS. I personally have tested XFS for robustness and speed, and I have done things such as set up scripts to get, untar, copy erase, and start and stop various daemons and databases and then while this looping miasma was going on RIP THE HARD DRIVE from the system (SCA, SAF-TE, hop swappable). I have yet to see a lengthy FSCK or a corruption. Simply the best!

    UFS2 is interesting, and provides a lot of improvements to UFS1, the soft updates are fairly effective at keeping things consistent and there is a background fsck in FreeBSD that works quite well.

    A filesystem which is just as robust as XFS in terms of durability is JFS, but sadly I have found this filesystem to be a bit short on the performance side. I believe the main function of JFS is to provide support for those moving from older IBM systems to newer things that possibly include the us of Linux over AIX or OS/2.

    I personally will not consider Reiser or EXT3 and could go into detail as to why. I have strong opinions as to what types of filesystems belong in production, and these will not qualify.

    So, while JFS for FreeBSD is a good thing, I would like to see at some point an attempt to move XFS to FreeBSD, and if I had that capability, I would have already started.

    FreeBSD is coherent, well documented and with things such as Vinum, and JFS-like filesystems and hopefully someday XFS, it really does quote a bit and is released under a flexible, corporate-friendly license (which I believe helps to foster and promulgate further development, not stifle or prevent it).

    On of the series of equipment that I am most impressed with is the Juniper routers. They are the best routers available in my estimation (65xx switches are my most favored switches). I feel very at home with JunOS because it is largely FreeBSD:

    JuneOS version 5.6R1.3 built by builder on 2003-01-02 20:19:20 UTC
    Copyright (c) 1996-2001, Juniper Networks, Inc.
    All rights reserved.
    Copyright (c) 1992-2001 The FreeBSD Project.
    Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
    The Regents of the University of California. All rights reserved.
    JUNOS 5.6R1.3 #0: 2003-01-02 20:38:33 UTC
    builder@zu.juniper.net.:/build/zu-b/5.6R1.3/o bj-i3 86/sys/compile/JUNIPER


    --
    Legalize the constitution. Think for yourself question authority.
  6. a useful thread to read by rplacd · · Score: 1, Interesting

    see this thread on journaling filesystems & freebsd.

    i'd like to see xfs on freebsd too, but the license...

  7. A gentle correction... by plsuh · · Score: 5, Informative

    JFS, other journalled file systems, and Softupdates have the same goal -- keeping file metadata structures consistent on the disk. JFS does not attempt to maintain file data integrity in the event of a crash -- that is the job of a DBMS. Go and read the web page on JFS from IBM that is linked to in the original posting.

    Granted, journalled FS's and softupdates go about things in different ways. Softupdates trades off potentially increased disk space usage and higher disk and CPU activity after a crash (performing the background, reduced set of checks in fsck) against a smaller relative performance penalty vs. a non-journalled FS in normal usage as compared to a journalled file system.

    My own $0.02 is that this is a nice scratch-the-itch, check-the-box-for-PHB's addition, but for most normal usage softupdates is a better choice. See the papers by Ganger and Patt and McKusick for more details. (Links copied from the OpenBSD FAQ pages.)

    --Paul

    1. Re:A gentle correction... by yakovlev · · Score: 1

      From what I could tell from reading those papers, softupdates can't recover if the corruption occurs while writing a sector to the drive. With that kind of error a journal is necessary to be able to recover. The other solution would be to always rewrite the superblock for every update and maintain several copies of the superblock (effectively journalling only the superblock.) This is essentially what TUX2 does.

      I could be mistaken, but my understanding is that softupdates may allow you to update an on-disk inode or directory structure that has other things pointing to it, which could corrupt a filesystem if the system crashed during the update.

      What's your understanding of this? Am I mistaken?

  8. *BSD filesystem group by hubertf · · Score: 3, Insightful

    I think it would be nice to have a group working on filesystems for all BSD systems (Free, Net, Open, ...), just like what KAME does for IPv6 on BSD.
    That way, every BSD project would benefit from the efforts.

    - Hubert

    1. Re:*BSD filesystem group by Anonymous Coward · · Score: 0

      Don't see why. One project makes improvements and the other projects grab them up. That's how it works.

    2. Re:*BSD filesystem group by Anonymous Coward · · Score: 0

      The Berkeley Fast Filesystem with Soft Updates and Background Fsck is faster and more reliable than a journalling file system. The BSD projects are concerned with stability, security, and readability of the code. Therefore, the FFS will not be replaced!

    3. Re:*BSD filesystem group by Anonymous Coward · · Score: 0

      It could still be improved. look for docuemntation on C-FFS ;)

    4. Re:*BSD filesystem group by Anonymous Coward · · Score: 0

      Agreed 100%, but the VFS (and VMs) on all BSD systems have differences and this makes work more difficult. Unfortunately, even in freeBSD, which is in theory more popular, there are not sufficient FS ppl to start such a project :(.

    5. Re:*BSD filesystem group by geniusj · · Score: 1

      I know NetBSD has LFS (log-structured file system), which I assume is journaled. Does anyone know anything about this? I know it's been getting some attention from the developers lately after a period of being stale.

      Cheers,
      -JD-

    6. Re:*BSD filesystem group by geniusj · · Score: 1

      To correct myself, it appears that log-structured filesystems are not the same as journaled filesystems..

    7. Re:*BSD filesystem group by Anonymous Coward · · Score: 0
      an elegy for *bsd

      I am a *BSD user
      and I try hard to be brave
      That is a tall order
      *BSD's foot is in the grave.

      I tap at my toy keyboard
      and whistle a happy tune
      but keeping happy's so hard,
      *BSD died so soon.

      Each day I wake and softly sob
      Nightfall finds me crying
      Not only am I a zit faced slob
      but *BSD is dying.
  9. Great feature but where is CD burning? by Anonymous Coward · · Score: 0

    Should I wait for the next major release?

    1. Re:Great feature but where is CD burning? by dadragon · · Score: 1

      Just install cdrecord. Just like Linux.

      --
      God save our Queen, and Heaven bless The Maple Leaf Forever!
    2. Re:Great feature but where is CD burning? by Anonymous Coward · · Score: 0

      Really haven't read any documentation have you? You already have cd burning software installed by default.

      As other posters have pointed out, burncd is installed by default and is quite capable of writing any .iso files you want. Type man burncd for more info.

      CDRecord is part of the ports tree (sysutils/cdrtools) and provides more complex CD-writing requests.

  10. Quotas? by nocomment · · Score: 2, Insightful

    Will it do quotas for users?
    FreeBSD makes an awesome mail server for that reason alone (not that there isn't a ton more).

    --
    /* oops I accidentally made a comment, sorry */
    /* http://allyourbasearebelongto.us */
  11. Re:UFS2, XFS, JFS, Vinum, FreeBSD, JunOS, everythi by Anonymous Coward · · Score: 0

    can you say GPL violation? using GPL code (XFS and JFS) under BSD...taints the BSD kernel with GPL fs code.

  12. Not the JFS itself, but the jfstools by lertl · · Score: 2, Informative

    According to the comment on http://daily.daemonnews.org/view_story.php3?story_ id=3539 the JFS code itself isn't ready yet, but the jfstools are. So you can take a JFS disk from a Linux box and use the jfstools, but you can't mount the JFS right now.

  13. Re:UFS2, XFS, JFS, Vinum, FreeBSD, JunOS, everythi by wabb1t · · Score: 2, Informative
    Richard Stallman mentioned in a comment that including GPL code with the source of the FreeBSD kernel was no problem, and that the GPL only covered the compiled kernel if it contains the GPL code.

    This basically means that you cannot distribute the FreeBSD kernel with both GPL and proprietary code, but there is no problem distributing it if you leave the GPL part out of the compile. See Greg Lehey's Diary, namely the Tuesday, 18 December 2001 entry.

  14. Re:UFS2, XFS, JFS, Vinum, FreeBSD, JunOS, everythi by Anonymous Coward · · Score: 0
    can you say GPL violation? using GPL code (XFS and JFS) under BSD...taints the BSD kernel with GPL fs code.

    Oh bullshit. Look at all the GNU userland tools already available in *BSD.

  15. Re:UFS2, XFS, JFS, Vinum, FreeBSD, JunOS, everythi by battjt · · Score: 4, Funny

    I personally will not consider Reiser or EXT3 and could go into detail as to why. I have strong opinions as to what types of filesystems belong in production, and these will not qualify.

    How can a stupid statement like this get moderated to the top? Unsubstantiated claims like this should only be allowed to criticize Microsoft. Comments critical of Linux must be backed up with hard data.

    I personally will not consider this comment and could go into detail as to why. I have strong opinions as to what types of comment belong in /., and this will not qualify.

    --
    Joe Batt Solid Design
  16. Re:UFS2, XFS, JFS, Vinum, FreeBSD, JunOS, everythi by glitchvern · · Score: 3, Interesting
    with regard to XFS
    I have yet to see a lengthy FSCK or a corruption.

    Lord knows I have. I had a power outage at my house and got an error on boot for my /home partition. When I searched google with the non-unique part of the error message, the first link on google was a message on the xfs mailing list by one of the developers saying he corrected an endian bug that was probably causing people to have recovery failures. Ah, here it is. I couldn't find anything on the web/newsgroups about how to fix it. I think I eventually ended up using xfs_repair. It complained about the filesystem not having been unmounted cleanly and telling me to mount and then unmount the filesystem. Of course I couldn't mount the filesystem anymore. I can't remember what exactly it told me to do in the event that the filesystem could not be mounted, but it involved some scary warning about losing the filesystem. I think it was to use xfs_repair -L (zero out the journal log). I considered creating another partion (I don't need as much space as today's drives ship with so I leave space to create new partitions/grow old ones) and using xfsdump to back up the filesystem at that point, but there was nothing terribly important on there so I just went for it. It repaired the file system just fine. I've had it put stuff in lost+found for some of the other file systems on other power outages (yes, we have lots of power outages and I need to buy a UPS though we don't seem to have had one for 43 days at this point), but that's not really a big deal. It does mostly restore things to how they are suppose to be.
    The problem with xfs is that they don't release "stable" patches for 2.4 that often. Oh, they release snapshots for every kernel, but those are at the start of the branch to that kernel and not at the end of the branch. Other than that you can pull their linux kernel with xfs out of their cvs, but they do not have any sort of stable branch in their cvs that I can find. There were 9 months between the release of xfs linux release 1.1 and 1.2 during which time many important bug fixes went into cvs.
    Don't get me wrong. I still use xfs as my filesystem. Mostly because they have actual real acl's. I just wish they would release some sort of "stable", "blessed" version of their patches every now and then. Can't wait for 2.6 when it's just included in the stable kernel.
  17. please explain softupdates vs. journalled fs by Bishop · · Score: 1

    I did not quite understand your second paragraph. Could you please explain the advantages of softupdates versus journalled again. thanks.

    1. Re:please explain softupdates vs. journalled fs by plsuh · · Score: 4, Informative

      My understanding is that a journalled FS records every file block allocation and deallocation on the volume in a separate journal. This way, if an operation does not complete (say, due to a power failure), the disk can be restored to a known consistent state very easily. A consistent state is one where no blocks are allocated that should not be, and no blocks that are in use are listed as unallocated.

      Softupdates does a partial re-ordering of operations so that all allocations happen before deallocations. Thus, in the event of a crash there can never be any blocks that are in use but marked as unallocated. The only possible inconsistency is that there may be blocks that are unused but marked as allocated. In the event of a crash, no fsck is performed as a part of the boot sequence, but a special background version of fsck is run to find any blocks that unused but marked as allocated and mark them as unallocated, which is a safe operation.

      Comparing the two methods of operation, a journalling FS pays a speed penalty under normal operations, as it needs to do two writes to the volume for every write access from the application, one to write the journalling data and one to write the actual write. However, on a restart after a crash, the journal is just used to roll back the volume's allocations to a known good state and the OS continues on its merry way.

      FFS with softupdates is faster under normal operations, as there is only one write to the volume for every write access from the application. However, in case of a crash there is the potential for a large quantity of disk blocks that will need to be scavenged, thus making the volume look like it has less free space than it actually has, plus the background fsck needs to run and fix up the allocations.

      Read the Ganger and Patt and McKusick papers linked to in my original post for more details.

      --Paul

    2. Re:please explain softupdates vs. journalled fs by Bishop · · Score: 1

      Ah thank you. That makes sense.

    3. Re:please explain softupdates vs. journalled fs by LuckyStarr · · Score: 1

      great explaination. thank you.

      there is one thing i don't understand. when you do a freebsd installation, why is the default root (/) filesystem not marked automatically for using softupdates?

      is there a cause for not using it under special circumstances?

      --
      Meme of the day: I browse "Disable Sigs: Checked". So should you.
    4. Re:please explain softupdates vs. journalled fs by plsuh · · Score: 1

      No idea. I'm not part of the FreeBSD team, and in fact I'm more of an OpenBSD user/sysadmin. Try asking on one of the FreeBSD lists.

      --Paul

    5. Re:please explain softupdates vs. journalled fs by geniusj · · Score: 2, Informative

      This decision was made due to space concerns. For users with small filesystems, it was a common problem, during an installkernel, to run out of space on / because the previously unlinked blocks from things such as /modules/ or /boot/kernel/ were not deallocated yet (deallocation can take time using softupdates, but happens eventually). The solution to this problem was to have the root filesystem default to not having softupdates. This was just due to the fact that you do not want your root filesystem filling up, and this really made it a pain for many users to upgrade. Perhaps a better decision would be to have sysinstall toggle it based on how large the filesystem is, but it's really a tough call. But anyway, there's some fairly recent history for you :)

      Cheers,
      -JD-

    6. Re:please explain softupdates vs. journalled fs by Anonymous Coward · · Score: 0

      Because it is considered to be a risk, even if just a theoretical one. You need / to do anything useful, thus the FreeBSD team has considered that a theoretical corruption on SU disks are higher as it's partial asynchronous writes, which is correct.
      You should ignore this if you have a live CD or a another form of boot device such as floppy.

      It really doesn't matter, your / should only be about 128Mb and practically NEVER be written to, unless modifying /boot or installing new kernel and modules. And since it is NEVER written to, SU really doesn't matter.

      I have been using SU on / since SU was released, and never had a problem, and mind you I only use it because of consistency in fstab :-)

    7. Re:please explain softupdates vs. journalled fs by Anonymous Coward · · Score: 0

      Oh, I forgot, if you're that anxious you should also disable WC and TQ on your ide disks, you really don't want write chaching on sensitive data and tagged queuing is a complete fuckup on most disks (stupid hardware manufacturers, buy SCSI if you want TQ!).

      And while I'm at it, let's bash Linux ;-) -- asynchronous writes are a horrible idea, thank god we in the BSD developer community never got that uneducated as to make something as horrible.

    8. Re:please explain softupdates vs. journalled fs by geniusj · · Score: 1

      Mm.. does anyone remember 4.4 (or was it 4.3?), when write caching was disabled by default? That was painful.. :)

    9. Re:please explain softupdates vs. journalled fs by Anonymous Coward · · Score: 0

      It might be painful, but not as painful as it will be when you have WC and a powerfailure during a write to a massive database; thankfully real databases have good correction and verification programs.
      Sometimes an UPS will not be enough, when the entire block is out of power for 2 days because of some asshole cutting the powerline in *8 places* when drilling the ground.
      WC is good for speed, but not good when something goes wrong.

    10. Re:please explain softupdates vs. journalled fs by Anonymous Coward · · Score: 0

      There is a toggle for this.

  18. GPL? by spectatorion · · Score: 1

    I thought that one of the biggest reasons that the BSDs had not incorporated the publicly available journaling filesytems (SGI XFS and IBM JFS, and to a lesser extend ext3 and reiserfs) was that all the code was GPL, not BSD. I may be revealing my gross ignorance of kernel programming, but it was my impression that having GPLed filesystem code in a BSD-based system would not really be possible. How do the developers plan to get around this?

    1. Re:GPL? by Anonymous Coward · · Score: 1, Insightful

      GPL'd code can be included in any BSD project, but it must not be statically linked.

      So, this means that your boot (root) filesystem can never be JFS/XFS/ResierFS/ExtFS enabled, since the code to read your boot filesystem must be statically linked into the kernel.

    2. Re:GPL? by MechaStreisand · · Score: 1

      As far as I know, the static linking restriction applies to the LGPL, not the GPL. The restriction in this case is that it can't be compiled in the kernel with the normal distribution, but they can include the source if they want, and you can compile your own kernel with any GPLed software linked in it.

      --
      Disclaimer: IANAL. This post is, however, legal advice, and creates an attorney-client relationship.
    3. Re:GPL? by Anonymous Coward · · Score: 1, Insightful

      You've actually got it backwards. The difference between the GPL and LGPL is that the LGPL does *not* include the linking restriction. It was originally called the 'Library GPL' (now 'Lesser GPL'), and was designed to allow libraries under a GPL-like licence to be linked to code under other licences.

      Incidentally, Richard Stallman explains on the FSF web site that the idea behind the LGPL is to get programmers hooked on GNU/LGPL libraries, then switch to the full GPL to pull the rug out from under them and force them to either use the GPL for their larger works or go to the considerable trouble of either transitioning to alternative libraries or writing their own. The name change reflects Stallman's belief the GPL is now widespread enough that that it's no longer necessary to encourage libraries to be licensed under the LGPL instead of the full GPL.

  19. JFS on Linux by Nickus · · Score: 3, Interesting

    I recently tested JFS on a 2TB raid. In two days I got corruption in the filesystem and I was forced to switch back to ext3. This was with the JFS shipped with RH8.
    This doesn't mean anything except I won't touch JFS in a long time. When you need machines in production use you really want to be sure about the filesystems. Too bad the customer wouldn't go with FreeBSD.

    1. Re:JFS on Linux by Anonymous Coward · · Score: 0

      So in other words, its a flying leap ahead of anything on BSD right now already.

    2. Re:JFS on Linux by Anonymous Coward · · Score: 0

      "Too bad the customer wouldn't go with FreeBSD."

      I think FreeBSD is lucky NOT to have them as customers ;*)

    3. Re:JFS on Linux by Anonymous Coward · · Score: 0

      The version of JFS that RedHat ships is a hack based on an old release of JFS. I suspect RH has a case of ego and not invented here. They don't hilight or make it easy to install JFS, they don't provide anywhere near the latest code. I don't trust RH's version of JFS and I don't trust their motives for anything they do.
      I have used IBM's suplied JFS code on a half a dozen production servers for over a year. Prior to that I tortured it in a similar fashion to an earlier poster, heavy read writes to the fs and pull the hotswap drive and powering off the server. No data loss, no corruption, it just works.

  20. So you prefer more restrictive licenses by nurb432 · · Score: 1

    GPL, for better or worse IS more restrictive then BSDL.

    GPL - Call it a virus if you like, or just 'good intent' but it is more restrictive, and *does* hamper commercial usage, even if you don't want to admit it or not.

    They do both have their place, but don't be going all out globally thanking your god for GPLized code instead of BSDized...

    --
    ---- Booth was a patriot ----
  21. Actually by Anonymous Coward · · Score: 0

    Some people prefer that the filesystem keep data integrity. Certainly not all applications can use database backends.

  22. Not true by Anonymous Coward · · Score: 0

    (Though BSD guys may say otherwise). The data will not be completely protected. Either files may have zero-ed out portions, or files may have uninitialized data. There is no way to get 100% data safety with soft updates.

    That isn't to say that it matters for most people. See a post above which says you should use a database if you care about data integrity. I personally wish that there was an option to do data journalling too...

    1. Re:Not true by Anonymous Coward · · Score: 0

      If you're interested in a file system that supports data journalling (or logging), the 4.4BSD LFS has actually been revived in NetBSD, but it's still experimental.

  23. what about dualfs? by Anonymous Coward · · Score: 0

    http://ditec.um.es/~piernas/dualfs/

  24. Re:*BSD is dead by Anonymous Coward · · Score: 0

    You fucking newbie! Shut-up and go sit in the corner!

  25. Developer laughs out: What Killed Slashdot by Anonymous Coward · · Score: 0

    Endless, moronic, tedious, unfunny posts containing mind-numbing drivle from people who in their heart of hearts wish they had enough intellect do actually come up with a good zinger instead of posting the same tired old crap.

  26. Hmm by cstubbs · · Score: 1

    Oooo, FreeBSD with a decent filesystem finally, after how long ?

    Maybe it will finally be good for something other than routing the odd piece of network traffic about the place.

  27. soft updates? by RLiegh · · Score: 0

    Hasn't soft updates been proven "good enough" as far as data integrity goes, and slightly better performance-wise? If that's the case, shouldn't we (we=*bsd) be focusing on breaking new ground instead of trying to play catch-up with linux?

  28. I thought Greg Lemis did the JFS port to linux by Anonymous Coward · · Score: 0

    If Grog did the port to linux for IBM, as a core member, we has he not proposed the idea to port to FreeBSD?

  29. LFS by britt · · Score: 1

    LFS (originally by Ousterhout, ported to 4.4BSD by Seltzer) writes everything in a log. Just write as much as possible in one long stripe to the disk (up to a meg in the initial designs.) This means blocks of data move each time they are updated, which means you always write new inodes with each data write which point to the old unchanged blocks, and the new changed blocks.

    Obviously once you hit the end of the disk, you have to wrap back around, and write some more, but where?

    LFS had a seperate backgroup process that went around and finds all the, now unneeded, old data blocks that have been rewritten somewhere else and cleans them up. This is called the cleaner. Once the cleaner has found more space you get to write there.

    The main positive point of the LFS design was very good write performance due to the lack of seeking needed to put little bits of data all over the disk.

    The main downside to LFS was the cleaner itself, which was costly to run.

    Margo Seltzer and Trevor Blackwell did some more work with the cleaner in this paper that shows that with the right timing you can get the cleaner to run efficiently.

    I'm not aware of this work having been implemented (at least not as of 2000 which I stopped working on it on BSDI where Margo had been keeping LFS)

    A good description can be found in the original papers, and the Pink 4.4 BSD book by McKusick, Bostic, Karels, and Quaterman.

    Britt

    --
    --Britt
  30. Elegy for *BSD by Anonymous Coward · · Score: 0

    the Elegy For *BSD

    I am a *BSD user
    and I try hard to be brave
    That is a tall order
    *BSD's foot is in the grave.

    I tap at my toy keyboard
    and whistle a happy tune
    but keeping happy's so hard,
    *BSD died so soon.

    Each day I wake and softly sob
    Nightfall finds me crying
    Not only am I a zit faced slob
    but *BSD is dying.