Skip to contentSkip to conversation

ZFS

PATCH New Jorgen Lundman 3 participants 12 messages May 22, 2012 – May 23, 2012

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 ZFS

Work based on current u-boot repository;

https://github.com/lundman/u-boot/compare/upstream...upstream-zfs

As previously discussed, all sources are GPLv2.

This patchs supports ZPOOL v28 (including ashift patches) on Single or Mirror VDEVs.

It does not work with RAIDZ and higher VDEVs.

Signature · 4 lines
Jorgen Lundman       | <[email protected]>
Unix Administrator   | +81 (0)3 -5456-2687 ext 1017 (work)
Shibuya-ku, Tokyo    | +81 (0)90-5578-8500          (cell)
Japan                | +81 (0)3 -3375-1767          (home)
#1 lore raw

PATCH 1/1 ZFS

Hi Jorgen,

Quoted 5 lines · Jorgen Lundman

Work based on current u-boot repository;

https://github.com/lundman/u-boot/compare/upstream...upstream-zfs

These patches will likely not get reviewed and definitely will not get merged unless that are posted to the mailing list

Quoted 1 line

As previously discussed, all sources are GPLv2.

Does that imply the possibility that a ZFS driver might one day get added to the Linux kernel proper?

Quoted 4 lines

This patchs supports ZPOOL v28 (including ashift patches) on Single or Mirror VDEVs.

It does not work with RAIDZ and higher VDEVs.

Regards,

Graeme

#2 lore raw

PATCH 1/1 ZFS

Quoted 4 lines

Does that imply the possibility that a ZFS driver might one day get added to the Linux kernel proper?

ZOL http://zfsonlinux.org/ already exists and runs very well. But it should be noted that the license prohibits the *distribution* of Linux with ZFS. Which is why it is a separate kernel module. Read more about license on the ZOL pages from people who know more about it than I.

So *I* don't think we will see a kernel with ZFS already in it, but you can already "apt-get install zfs" for many distributions. I use initrd to load ZFS then boot my pool.

However, that is a separate issue here, since ZOL is based on the Solaris kernel sources, which are CDDL.

GRUB ZFS "booting" sources are based on the GRUB GPL sources, provided by Sun to GRUB.

They are very stripped down, and can only read files, on single/mirror. No RAIDZ etc logic was released as GPL, so GRUB sources can not boot from those volumes (a limitation from day one).

I did notice that Illumos (OpenIndiana) have work started on extending GRUB boot, and ZFS crypto. But that is currently futureware.

Lund

Signature · 4 lines
Jorgen Lundman       | <[email protected]>
Unix Administrator   | +81 (0)3 -5456-2687 ext 1017 (work)
Shibuya-ku, Tokyo    | +81 (0)90-5578-8500          (cell)
Japan                | +81 (0)3 -3375-1767          (home)
#3 lore raw

PATCH 1/1 ZFS

Hi Jorgen,

Quoted 3 lines · Jorgen Lundman

GRUB ZFS "booting" sources are based on the GRUB GPL sources, provided by Sun to GRUB.

Hmm, I know that GRUB is GPLv3+ - Is the ZFS code GPLv3+ or was that released under a different version?
(I know the ZFS license was discussed before, but I can't recall if the explicit GPL version was referred to)

Regards,

Graeme

#4 lore raw

PATCH 1/1 ZFS

GRUB 0.96 (2005) which received the initial ZFS GRUB sources was probably GPLv2. The ZFS sources files contributed are all tagged with GPLv2. I have left all header license chunks untouched.

Quoted 10 lines

Hmm, I know that GRUB is GPLv3+ - Is the ZFS code GPLv3+ or was that released under a different version?
(I know the ZFS license was discussed before, but I can't recall if the explicit GPL version was referred to)

Regards,

Graeme

Signature · 4 lines
Jorgen Lundman       | <[email protected]>
Unix Administrator   | +81 (0)3 -5456-2687 ext 1017 (work)
Shibuya-ku, Tokyo    | +81 (0)90-5578-8500          (cell)
Japan                | +81 (0)3 -3375-1767          (home)
#5 lore raw

PATCH 1/1 ZFS

I stand corrected, going over the files now for the patching, nearly all ZFS related files (headers, and internals) are GPLv3. The GRUB specific files (the files interfacing with the GRUB API) appear to be GPLv2.

Lund

Quoted 15 lines · Jorgen Lundman

GRUB 0.96 (2005) which received the initial ZFS GRUB sources was probably GPLv2. The ZFS sources files contributed are all tagged with GPLv2. I have left all header license chunks untouched.

Quoted 10 lines

Hmm, I know that GRUB is GPLv3+ - Is the ZFS code GPLv3+ or was that released under a different version?
(I know the ZFS license was discussed before, but I can't recall if the explicit GPL version was referred to)

Regards,

Graeme

Signature · 4 lines
Jorgen Lundman       | <[email protected]>
Unix Administrator   | +81 (0)3 -5456-2687 ext 1017 (work)
Shibuya-ku, Tokyo    | +81 (0)90-5578-8500          (cell)
Japan                | +81 (0)3 -3375-1767          (home)
#6 lore raw

PATCH 1/1 ZFS

Hi Jorgen,

Quoted 3 lines · Jorgen Lundman

I stand corrected, going over the files now for the patching, nearly all

ZFS related files (headers, and internals) are GPLv3. The GRUB specific files (the files interfacing with the GRUB API) appear to be GPLv2.

That is a problem. U-Boot is nominally GPLv2+ which would allow inclusion of GPLv3 code but there are significant portions of U-Boot which are GPLv2 (Linux kernel code for example) which is a blocker :(

Regards,

Graeme

#7 lore raw

PATCH 1/1 ZFS

Quoted 5 lines

That is a problem. U-Boot is nominally GPLv2+ which would allow inclusion of GPLv3 code but there are significant portions of U-Boot which are GPLv2 (Linux kernel code for example) which is a blocker :(

Originally the first checking has GPLv2. So GRUB bumped up the version somewhere along the way. I can go back to GPLv2 source, as there are no differences.

Lund

Signature · 4 lines
Jorgen Lundman       | <[email protected]>
Unix Administrator   | +81 (0)3 -5456-2687 ext 1017 (work)
Shibuya-ku, Tokyo    | +81 (0)90-5578-8500          (cell)
Japan                | +81 (0)3 -3375-1767          (home)
#8 lore raw

PATCH 1/1 ZFS

Hi Jorgen,

Quoted 4 lines · Jorgen Lundman
Quoted 4 lines

That is a problem. U-Boot is nominally GPLv2+ which would allow inclusion of GPLv3 code but there are significant portions of U-Boot which are

GPLv2

Quoted 4 lines
Quoted 2 lines

(Linux kernel code for example) which is a blocker :(

Originally the first checking has GPLv2. So GRUB bumped up the version

somewhere along the way. I can go back to GPLv2 source, as there are no differences.

Yep. Just provide a commit ID to cover our a..es :)

Regards,

Graeme

#9 lore raw

PATCH 1/1 ZFS

In reply to Jorgen Lundman

Dear Jorgen Lundman,

Quoted 9 lines · In message <[email protected]> you wrote:
Quoted 5 lines

That is a problem. U-Boot is nominally GPLv2+ which would allow inclusion of GPLv3 code but there are significant portions of U-Boot which are GPLv2 (Linux kernel code for example) which is a blocker :(

Originally the first checking has GPLv2. So GRUB bumped up the version somewhere along the way. I can go back to GPLv2 source, as there are no differences.

Please provide (as part of the commit message) _exact_ reference for the origin of that code.

Best regards,

Wolfgang Denk

Signature · 7 lines
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
But it's real. And if it's real it can be affected ... we may not  be
able  to break it, but, I'll bet you credits to Navy Beans we can put
a dent in it.
	-- deSalle, "Catspaw", stardate 3018.2
#10 lore raw

PATCH 1/1 ZFS

In reply to Jorgen Lundman

Dear Jorgen Lundman,

Quoted 4 lines · In message <[email protected]> you wrote:

https://github.com/lundman/u-boot/compare/upstream...upstream-zfs

As previously discussed, all sources are GPLv2.

How would this be possible? My understanding is that ZFS comes only under a GPL incompatible license. Please elucidate.

Best regards,

Wolfgang Denk

Signature · 5 lines
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
Just about every computer on the market today runs Unix,  except  the
Mac (and nobody cares about it).                   - Bill Joy 6/21/85
#11 lore raw

PATCH 1/1 ZFS

Quoted 5 lines · Wolfgang Denk
Quoted 2 lines

As previously discussed, all sources are GPLv2.

How would this be possible? My understanding is that ZFS comes only under a GPL incompatible license. Please elucidate.

Perhaps a more visual answer is in order, to my other two replies, on the license situation.

If you look in Solaris sources, for ZFS, you will find 94 files, of which 94 files are of CDDL license. That is some:

(/usr/src/solaris11/usr/src) wc -l ./uts/common/fs/zfs/*.[ch] ./common/zfs/*.[ch] ./uts/common/sys/fs/z*
103993 total

So, about 100k worth of source. But Sun had no way to boot intel platform. So they wrote a subset "ZFS boot" sources for GRUB, under GPL v2 license.

Ie, 22 files, all GPLv2.

(/usr/src/grub-0.97/) wc -l include/zfs/* fs/zfs/*.[ch]
4328 total

At no point is the GRUB/u-boot ZFS sources the same as the actual file-system files. (Although, some of the headers overlap). As Sun wanted GRUB support, they were forced to release GRUB ZFS subset sources as GPLv2.

Lund

Signature · 4 lines
Jorgen Lundman       | <[email protected]>
Unix Administrator   | +81 (0)3 -5456-2687 ext 1017 (work)
Shibuya-ku, Tokyo    | +81 (0)90-5578-8500          (cell)
Japan                | +81 (0)3 -3375-1767          (home)