
A little bit of the one-time MacOS version still lingers in ZFS - zdw
https://utcc.utoronto.ca/~cks/space/blog/solaris/ZFSDTypeAndMacOS
======
nikhizzle
I shared an office with Noel Dellofano when she was porting ZFS over to the
Mac. It was definitely an uphill battle but she got through it small piece by
piece, with patience. I originally was hoping to get the project, but in
retrospect she was much better at it than I ever could have been.

As far as I remember, there was too much licensing uncertainty around it for
it to be give the green flag. That said, from my ancient memory, it began as a
side project for Don Brady (one of the core file system team members). So it
may have fared better if it had top down support from the beginning.

------
TheAceOfHearts
For anyone who is unaware: you can add ZFS support to macOS by installing
OpenZFS [0]. If you have homebrew you can just run: `brew cask install
openzfs`.

While I believe it's possible to boot from ZFS, I'd suggest sticking with
APFS.

One of the ways I use ZFS is with external HDDs, so I can easily move em
between computers running Debian, FreeBSD, or macOS.

[0]
[https://openzfsonosx.org/wiki/Downloads](https://openzfsonosx.org/wiki/Downloads)

~~~
FPGAhacker
I tried zfs on Mac a while back. A few years I think. My trial was with
external disks. It seemed super easy to basically lose the disk by forgetting
to export it or whatever the terminology is, before unplugging it.

Probably just my lack of understand, but for something that was supposed to be
all about not losing data, it seemed very fragile in that use case.

Again, it may have just been my ignorance and I didn’t lose anything, but I
couldn’t figure out how to recover.

Maybe it’s more forgiving now.

~~~
TheAceOfHearts
I haven't experimented much with this, so perhaps someone with more experience
can confirm. There's a lot of ZFS options and features which I don't fully
understand.

If your pool consists of a single drive and it was not exported correctly
before being moved to a different system you can still import it by running
`zpool import -f pool_name`. I've had this happen previously, and it hasn't
been an issue. The zpool man page says the following:

> If a device is removed from a system without running zpool export first, the
> device appears as potentially active. It cannot be determined if this was a
> failed export, or whether the device is really in use from another host. To
> import a pool in this state, the -f option is required.

If your pool consisted of multiple drives, I think it would vary depending on
your configuration. It seems like at worse you'd have to use the -F flag when
importing, which would cause some data to be lost due to incomplete
transactions:

> Recovery mode for a non-importable pool. Attempt to return the pool to an
> importable state by discarding the last few transactions. Not all damaged
> pools can be recovered by using this option. If successful, the data from
> the discarded transactions is irretrievably lost. This option is ignored if
> the pool is importable or already imported.

However I haven't encountered a scenario which caused me to have to use the -F
flag, so I'm unable to speculate further. As I understand it, it still
provides stronger guarantees than alternatives.

~~~
lundman
Can't comment on the original macos version, or zevo version, but you will not
lose a pool by "just unplugging it" or rebooting without export.

------
crawshaw
Why did Apple abandon efforts to use ZFS? Licensing?

~~~
jjoonathan
I always assumed it was Oracle buying Sun and Steve Jobs NOPEing far away from
the prospect of putting an Oracle filesystem at the heart of their then-
largest product. Oracle is _really_ good at using their products as beachheads
to vampirize large companies. I hesitate to even imagine what would have
happened to Apple had they gone forward with ZFS.

~~~
toyg
Actually the opposite is true, Jobs and Ellison were notoriously great friends
- they were from the same generation, the "pirates" usurped by Gates. They
just made sure to swim in different seas, as big sharks do.

Apple simply gave up on Sun, seen as a losing bet, and abandoned Java too.

~~~
tannhaeuser
The Apple/Java story is still interesting. I now personally don't care much
about Mac OS and Java anymore, but I remember me being pissed when Apple
abandoned shipping Java, Cocoa bindings, native LaF for Swing and other
integrations around 10.7 and leave the field for Oracle, after SJ had promised
to deliver "first-party, best-of" Java dev experience years earlier. Oracle
had also published a dev build for the Oracle RDMS on Power-based Macs, but
then denounced the Mac as a serious platform. Maybe a back-deal or bet was in
effect here, or Apple figured they'll never get into datacenter and enterprise
anyway?

~~~
pvg
That's interesting, to me it seemed the other way round - it was good for
Oracle to be responsible for their runtime. The integration was always a
really terrible fit and without it, Oracle could ship current versions of
Java. The Apple/Java thing was just a bad idea with a long lifetime and
somewhat sluggish death.

~~~
pjmlp
It was the plan B in case Mac OS developers wouldn't be willing to use
Objective-C from the new shinny OS X stack.

