The first set of patches are available to compile the ZFS file system module on FreeBSD. “This is a first set of patches, which allows to use ZFS file system from
OpenSolaris on FreeBSD. To apply the patch you need to have recent FreeBSD source (be sure you have rev. 1.284 of src/sys/kern/kern_synch.c). To try it out you need i386 machine (this is what I tested) and kernel without WITNESS compiled in (there are probably some warnings still). Currently it can only be compiled as a kernel module.”
I am already using Geom Journaling filesystem on FreeBSD and pleased with performance so far, can I compare it to ZFS in reliability and features? Right now current default filesystem UFS is not good for desktop usage, it is good for servers with UPS backup, but frequent power outages can destroy filesystem easily…
Right now current default filesystem UFS is not good for desktop usage
Can you clarify? I’m using a variety of linux distroes along FreeBSD, and I didn’t notice any performance issues with UFS (compared to Kubuntu and Archlinux). In fact, when copying large files, FreeBSD seems to stay more responsive (subjective, generally FreeBSD has a different feel to it, neither faster nor slower, a bit different, so this might be just my imagination).
I’ve been using FreeBSD since 5.1, and I never felt ANY problem with UFS as far as performance goes. Background fsck is another matter – once I had frequent outages (several a day for almost a month), and though I didn’t loose anything, there were cases when background fsck could not entirely solve the problem (so I had to drop to single user, remount / ro, and do a full fsck). Ext3 or other journalling filesystems might be better in this respect (haven’t tried gjournal yet) – but UFS is certainly as fast as any of the filesystems I have used earlier (well, I haven’t used that many… ext2, ext3, and reiser3.x).
Ever heard of softupdates? A power outage will not destroy the filesystem.
/* Right now current default filesystem UFS is not good for desktop usage, it is good for servers with UPS backup, but frequent power outages can destroy filesystem easily… */
nonsense, I run OpenBSD with the UFS/FFS, and numerous times I have shutdown system by holding the power button and not letting the os shutdown properly,that is like having a power outage, and i never had any problems. The UFS/FFS can take alot beating and does not corrupt easily.
Edited 2006-11-20 00:49
nonsense, I run OpenBSD with the UFS/FFS, and numerous times I have shutdown system by holding the power button and not letting the os shutdown properly,that is like having a power outage, and i never had any problems. The UFS/FFS can take alot beating and does not corrupt easily.
I forgot to say that I got enormous problems with AIO enabled- that’s why I lost so many filesystems/partitions.
I believe I heard the ZFS in FreeBSD is not 128bit because of FreeBSD limitations and consequently not compatible with Sun ZFS media. Does anyone know if this is the case and when or if it will be addressed?
According to this:
http://ivoras.sharanet.org/freebsd/freebsd7.html
and that:
http://lists.freebsd.org/pipermail/freebsd-fs/2006-August/002207.ht…
It is limited to 64bit due largely to the lack of
128-bit support in the POSIX interfaces.
Too bad the free software zealots would never allow a kernel space ZFS module because of some bizarre license issue they have with Open Solaris.
There is some rumors that Sun might GPL OpenSolaris. In that case linux could add direct kernel support for ZFS.
There is some rumors that Sun might GPL OpenSolaris. In that case linux could add direct kernel support for ZFS.
I hope they don’t, otherwise ZFS won’t be available for the BSDs (this may force a fork in ZFS code).
The CDDL is actually an acceptable license. Not as anarchic as the BSD nor as restrictive as the GPL, but standing somewhere in the middle. The BSDs can link against CDDL’d software without having to change the license of their own code, something that isn’t possible with the GPL.
Viral licenses suck.
If they GPL OpenSolaris, they’ll dual license it in both GPL and CDDL. Since every submission to the OpenSolaris project includes a copyright sharing clause with Sun, there’s no issue with them maintain the dual license.
Now that’s something I can live with
‘The BSDs can link against CDDL’d software without having to change the license of their own code, something that isn’t possible with the GPL. ‘
Actually, the BSD ‘modified’ licence ( the one FreeBSD uses ) is GPL compatible, they wouldn’t have to change their licence…
Please, don’t talk about what you don’t know.
Edited 2006-11-20 08:57
Actually the BSD ‘modified’ license you’re referring to is only GPL compatible in one direction, the “giving” end. Any BSD code can be embedded within GPL code without any licensing issues whatsoever (sans licensing clause, of course), but GPL code will “contaminate” any BSD code it touches and thus force a license change of any BSD licensed code.
The original poster was actually correct, so they weren’t talking about what they didn’t know.
“infect” is more correct word
As far as I know ZFS (CDDL) is legally not allowed to be integrated into the Linux kernel, or any other GPL project, for that matter.
That would change, however, if OpenSolaris would change its license to GPL. Note that it also works the other way around, which means that OpenSolaris can start integrating Linux drivers.
I don’t think there is any issue using GPL linux drivers in Solaris (or any other OS) provided that the source for the modified GPL driver is also released undere GPL. Thats exactly what I did when I use a Linux driver for a USB data logger that I ported to OSX, I just re-released the new driver under the original GPL.
I don’t think there is any issue using GPL linux drivers in Solaris (or any other OS) provided that the source for the modified GPL driver is also released undere GPL. Thats exactly what I did when I use a Linux driver for a USB data logger that I ported to OSX, I just re-released the new driver under the original GPL.
You could be skating on thin ice there. The GPL expressly prohibits linking or integrating with non-GPL compatible code, so compliance depends upon how you ported that driver.
If you’re simply releasing code in a manner that users can compile and install themselves, you’re probably ok. If you’ve created some sort of standalone userspace app running under OSX you could be ok. But if you’ve compiled it against any non-GPL parts in OSX and are distributing it that way, you could very well be violating the GPL.
As far as I know ZFS (CDDL) is legally not allowed to be integrated into the Linux kernel, or any other GPL project, for that matter.
There is work on a project to implement zfs via FUSE, which nicely bypasses the kernel licensing issue. Not sure where it’s at though.
That would change, however, if OpenSolaris would change its license to GPL. Note that it also works the other way around, which means that OpenSolaris can start integrating Linux drivers.
That would depend on whether they chose v2 or not, early odds are that they’ll go with v3 since that’s what they’ve implied since the first draft was released. Still, nobody really expected them to use v2 for java, so I guess anything can happen right now.
Aside from that, Sun would require copyright attribution for any code being added to openSolaris which would be an added complication and entirely up to the individual developers or organizations owning the code involved. I suppose the openSolaris distros can integrate the code as they see fit though without requiring copyright, it just won’t make it upstream.
Ever heard of softupdates? A power outage will not destroy the filesystem.
Of course I use softupdates or else performance is even worse. Maybe this is not filesystem problem at all (UFS) but while I got external USB hard drive mounted with UFS filesystem on it and had power outage, I lost whole partition table- impossible to recover it- believe me, I tried everything (fsck from installed OS and from livecd, nothing worked). Same problem with my FAT32 filesystem once when it was temporarily mounted r/w with FreeBSD 6.1p2- whole partition was gone (again unable to recover it at all- 20GB of mp3 lost..)- something is wrong with FreeBSD underlyiong GEOM implementation.
So far no problem with gjournaling and I am eager to test out ZFS.
You can try to recover the partition table using scan_ffs from ports, but you should just backup your partition tables using bsdlabel /dev/ad0s1 > ad0s1.label to another box somewhere.
Softupdates have served us well up until now. The only reason we need gjournal at all is because background fsck needs too much memory as the number of inodes goes up on very large filesystems (> 2T). If your filesystems are small (and they typically are), I still think softupdates are superior.
Edited 2006-11-20 00:06
I hate to display my ignorance, but maybe somebody could help me. If CDDL is more restrictive than the BSD license, how can it legally be incorporated into FreeBSD but not into Linux? I understand the BSD license and GPL, but I admit that I don’t know the CDDL.
>>If CDDL is more restrictive than the BSD license, how can it legally be incorporated into FreeBSD but not into Linux?<<
The CDDL is a “per file” license as compare to a “per project”. Basically if you include a file that is covered under the CDDL in your project the only source code that you need to make available is the CDDL file and modifications to it.
So for example IBM if they so wished could take ZFS from Solaris/Opensolaris and port it to AIX. The only code that they would have to make available is the ZFS code and any modifications made in it’s files. So they don’t have to release any of AIX code under CDDL.
Contrast this to what they would have to do if they ported the GPL branch of XFS from Linux (as oppose to non-gpl IRIX branch). In which case to stay within the license terms they would have to relicense AIX to the GPL (so call infect issue).
This is why Apple is porting both DTrace and ZFS to OSX Leopard.
Because the license isn’t “compatable” with the GPL v2 files licensed under CDDL can’t be included with Linux. There is talk though that CDDL will be fairly compatable with GPLv3.
Actually, the BSD license is compatible with anything It is just a decision of the FreeBSD folks that they want to provide a system as free as possible. So legally, they could incorporate CDDL code even in the kernel (if the CDDL license permits that – the BSD license certainly doesn’t have anything that would prevent that).
If CDDL is more restrictive than the BSD license, how can it legally be incorporated into FreeBSD but not into Linux?
Just read the licenses in question. This comes straight from the CDDL:
3.6. Larger Works.
You may create a Larger Work by combining Covered Software with other code not governed by the terms of this License and distribute the Larger Work as a single product. In such a case, You must make sure the requirements of this License are fulfilled for the Covered Software.
And Covered Software is defined in the license as:
1.3. Covered Software means (a) the Original Software, or (b) Modifications, or (c) the combination of files containing Original Software with files containing Modifications, in each case including portions thereof.
You may or not be aware of the fact the CDDL is a modified Mozilla Public License (MPL).
http://www.opensource.org/licenses/cddl1.php
http://www.opensource.org/licenses/mozilla1.1.php
I think the main reason the GPL is incompatible with the CDDL and similar licenses is this clause:
3.4. Application of Additional Terms.
You may not offer or impose any terms on any Covered Software in Source Code form that alters or restricts the applicable version of this License or the recipients rights hereunder.
Since the GPL imposes additional restrictions, code released under the CDDL and the GPL cannot be mixed together.
On the other hand, the BSD license doesn’t impose any additional restriction not present in the CDDL (the contrary is true) so there is no problem.
There are two urls that have nice comments and pictures of CDDL, GPL and BSD comparison.
http://blogs.sun.com/chandan/entry/copyrights_licenses_and_cddl_ill…
http://linux.wordpress.com/2006/10/02/at-a-glance-gpl-cddl-and-bsd/