What's zpool version 5000?!

1,184 views
Skip to first unread message

Daniel Jozsef

unread,
Feb 27, 2014, 5:27:59 PM2/27/14
to zfs-...@googlegroups.com
Hey ppl ;)
I've been wondering about "version 5000", and what it signifies.
Does this bump mean a fork from Oracle's code? Will there be a 5001, 5002, 5099, etc. in the future, on a path separate and incompatible from Oracle's versions? Or is it just some kind of nonsense number, like setting Samba OS level to MAXINT? :)
Is v5000 identical to v28 or does it indicate some kind of incremental update to 28?

Bjoern Kahl

unread,
Feb 27, 2014, 6:23:47 PM2/27/14
to zfs-...@googlegroups.com
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Am 27.02.14 23:27, schrieb Daniel Jozsef:
the pool version 5000 indicates pools that support the so-called
feature flags.

A version 5000 pool with no specific features turned on is essentially
a v28 pool with the same on-disk data layout.

Feature flags are a way to solve the problem of potentially
incompatible changes to the on-disk data structures in the absence of
a central authority that defines what a given version of the software
should support.

Instead of incrementing the pool version by one every time an
incompatible change occurred and coordinating the version increase
across all independent implementations of ZFS, now any implementation
can define new features that are supported by that implementation and
possibly some other implementations that pickup the change.

Such a pool can be imported read-only by any implementation that
support reading all features active in the pool and read-write by any
implementation that support writing all active features. Some
features are defined as only requiring implementation support for
writing, that is a pool with such a feature active can be imported
read-only by an implementation that has no support for the feature.


Since feature are technically pool properties, there is no reason to
ever again increase the pool version to support new features. As
such, the "5000" in pool version 5000 is just an arbitrary number made
up to distinguish feature flag enabled pools from legacy Oracle pools.


Hope that clarifies it a bit.


Björn


- --
| Bjoern Kahl +++ Siegburg +++ Germany |
| "googlelogin@-my-domain-" +++ www.bjoern-kahl.de |
| Languages: German, English, Ancient Latin (a bit :-)) |
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/

iQCVAgUBUw/JAFsDv2ib9OLFAQJRSAP9HtM4vSqRUgDrjlxNrH+Yh5xYZewMBpJV
RUkXYJkapGqioOJjsifo/mxmXTj81eSVjeKaCl0h5ToPbfCJ14FC3soyeJ3E9DkG
xhp5TbxRY4fWYiSACqO42hgt9hgSNQD0WGLzdOp73HtyG4tt7Rc5+PmLughbsHfM
YtoS7N72Rzo=
=QYf+
-----END PGP SIGNATURE-----

S P Arif Sahari Wibowo

unread,
Jul 5, 2014, 11:33:26 PM7/5/14
to zfs-...@googlegroups.com
On 2014-02-27, 16:23, Bjoern Kahl wrote:
> Feature flags are a way to solve the problem of potentially
> incompatible changes to the on-disk data structures in the
> absence of a central authority that defines what a given
> version of the software should support.

I just going to ask question about this. So MacZFS does use
Feature Flags instead of version number for its zpool? Will it
accept zpool with any version number, then?

Thanks!

--
____ ____ ____ ____ (stephan paul) Arif Sahari Wibowo
/___ /___/ /___/ /___ http://www.arifsaha.com/
____/ / / / ____/

ilov...@icloud.com

unread,
Jul 5, 2014, 11:38:17 PM7/5/14
to zfs-...@googlegroups.com, arifsaha+...@gmail.com
No MacZFS does not support feature flags, which require pool version 5000. MacZFS supports up to pool version 8.

On OS X, only OpenZFS on OS X supports feature flags:

S P Arif Sahari Wibowo

unread,
Jul 6, 2014, 12:49:56 AM7/6/14
to zfs-...@googlegroups.com
On 2014-07-05, 21:38, ilov...@icloud.com wrote:
> MacZFS supports up to pool version 8.

Ok, so I guess I need to submit my question anyway.

Yes, I did read MacZFS is based on zpool version 8. However it
does support UTF normalization, right?

I am trying to format a drive with ZFS to be used both in Linux
and OS X. While there is OpenZFS on OS X, I would like the drive
to be usable by MacZFS as well. The problem is, when I try to
create zpool version 8 using ZFS on Linux, it then said that
normalization is not supported in this zpool.

So I guess the real issue here: how to create a zpool that will
be the most usable between MacZFS, OpenZFS on OS X, ZFS on
Linux, and ZFS-fuse, using all features supported by those
solutions?

Thank you.

ilov...@icloud.com

unread,
Jul 6, 2014, 1:01:48 AM7/6/14
to zfs-...@googlegroups.com, arifsaha+...@gmail.com
Normalization is not available in file system version 2.

There is no issue with creating pool version 8 on ZFS on Linux:

As for creating a pool that can use "all features supported by those solutions," that is impossible because maintaining compatibility with MacZFS will strictly limit you to the feature set of MacZFS, which has only the features of pool version 8 and file system version 2. There is no way to have your cake and eat it too because ZFS does not have "forward compatibility."

S P Arif Sahari Wibowo

unread,
Jul 7, 2014, 4:25:38 PM7/7/14
to zfs-...@googlegroups.com
On 2014-07-05, 23:01, ilov...@icloud.com wrote:
> Normalization is not available in file system version 2.

Just to confirm: are you saying MacZFS does not support
normalization?

Well, at least that will be consistent, then. I thought MacZFS
support normalization due to several posting which mentioned
normalization settings, such as:
https://code.google.com/p/maczfs/issues/detail?id=53
https://groups.google.com/forum/#!msg/maczfs-devel/afg0R2jITKc/IWxaKv5c6ggJ
https://groups.google.com/forum/#!topic/zfs-macos/uX2C778Kcv0


> As for creating a pool that can use "all features supported by
> those solutions," that is impossible

Sorry, that was a typo, I meant, "all features commonly
supported by those solutions", i.e. greatest common denominator.

Bjoern Kahl

unread,
Jul 7, 2014, 5:38:33 PM7/7/14
to zfs-...@googlegroups.com
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1


Dear All,

I think there is some confusion here.

Am 07.07.14 22:25, schrieb S P Arif Sahari Wibowo:
> On 2014-07-05, 23:01, ilov...@icloud.com wrote:
>> Normalization is not available in file system version 2.
>
> Just to confirm: are you saying MacZFS does not support
> normalization?
>
> Well, at least that will be consistent, then. I thought MacZFS
> support normalization due to several posting which mentioned
> normalization settings, such as:
> https://code.google.com/p/maczfs/issues/detail?id=53
> https://groups.google.com/forum/#!msg/maczfs-devel/afg0R2jITKc/IWxaKv5c6ggJ
>
>
https://groups.google.com/forum/#!topic/zfs-macos/uX2C778Kcv0

The MacZFS 74.x.x does not support setting an explicit normalization.

It is supposed to default to formD, i.e. deliver "the right thing" on
Mac OS X. Creating filenames with "strange" characters like the "ö" in
my (correct) name in Finder should simply work. (Can't recheck right
now, not at my dev machine.)

The o3x, OpenZFSonOSX or what ever the current name is does support
explicit setting of the normalization at file system creation time,
provided the selected pool version does allow to store the
normalization flag.

In short, OpenZFSonOSX, when asked to make a MacZFS 74 pool, i.e. a
pool with version=8, will refuse to set a normalization form, but will
accept to set a normalization form when asked to create a pool with a
recent version.


>> As for creating a pool that can use "all features supported by
>> those solutions," that is impossible
>
> Sorry, that was a typo, I meant, "all features commonly supported
> by those solutions", i.e. greatest common denominator.

The simplest way to do so is to create the pool with MacZFS 74.x.x
Such a pool can be imported and used under ZoL, ZFS-FUSE (Linux) and
OpenZFSonOSX.

It should not show interoperability problems. If it nevertheless
does, please report here, so we can figure out which of the four
implementations is misbehaving - which is not necessarily the one
where the problem surfaces.


Best regards

Björn

- --
| Bjoern Kahl +++ Siegburg +++ Germany |
| "googlelogin@-my-domain-" +++ www.bjoern-kahl.de |
| Languages: German, English, Ancient Latin (a bit :-)) |
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/

iQCVAgUBU7sTSVsDv2ib9OLFAQIlGQP9EGSmVQlQ/XE0HKNWlh8Gpg65KoJ0i3rY
iiUWbGJp6/EXBAkbplRyzy0muJkX+gVKx4bTrbt5OZp5hyZyr2mthGkPHaSYn8B/
CysyIweHgFRfkRItRLIHgpNMVaqUgj1Ua6axDYKwLQ3DTDwuSm/B357mHnW/w4I9
lg2kHkl9Ols=
=0VtJ
-----END PGP SIGNATURE-----

ilov...@icloud.com

unread,
Jul 7, 2014, 10:45:11 PM7/7/14
to zfs-...@googlegroups.com
"...o3x, OpenZFSonOSX or whatever the current name..."

From the very first day it was released, March 13, 2014, up to the present, the name was, is, and always has been "OpenZFS on OS X," which may be abbreviated as "O3X" or "o3x."

Graham Perrin

unread,
Jul 9, 2014, 3:01:33 PM7/9/14
to zfs-...@googlegroups.com
On Monday, 7 July 2014 22:38:33 UTC+1, Bjoern Kahl wrote:

… MacZFS 74.x.x … is supposed to default to formD, i.e. deliver "the right thing" on
 Mac OS X.  Creating filenames with "strange" characters like the "ö" in
 my (correct) name in Finder should simply work. …

Please, take a Terminal view of names of files that were created using Finder. For names that included characters such as é or ö, in Finder: is everything as expected when listed in Terminal? 

A highlight from the discussion linked from MacZFS issue 53: 

Je viens justement de désinstaller la mort dans l'âme la version pourtant dite stable de MacZFS suite au constat d'un bug grave de disparition aléatoire de fichiers dont le nom contient des accents, non résolu depuis 3 ans et classé comme "low priority" par l'équipe...


Also, amongst the answers to frequently asked questions: 

… Beware of filenames containing non-ASCII characters. Any such filename needs to be encoded in utf-8 with MacOS's peculiar normalization, or you won't be able to access the file on MacOS, not even to delete it. …

Reply all
Reply to author
Forward
0 new messages