ZFSin: A Windows kernel-mode ZFS driver
github.com
github.com
Of the 26 items in the Milestone section, three (near the bottom) are currently not done. All the rest are. (The last one should read "swim". And I hope that last one definitely happens!)
The first substantial commit (https://github.com/lundman/ZFSin/commit/6ea8093d48da0a0abc3b...) includes a large pile of code. It's clear this was (wisely) built out privately to begin with. I wonder how long it took to get to the above commit point.
While unrelated, thanks very much to the author for the TIL on how to do Windows kernel development! TIL about the free Windows VMs too.
I've opened https://github.com/lundman/ZFSin/issues/6 to hopefully prompt a license file to turn up.
Not quite free, just an evaluation version that expires after a while.
That page says the images expire 12/1/17. So that's... two months from now? Huh. That's... 341.33MB per day in bandwidth (20GB over 60 days). Weird way to measure it (the cost of continually reconfiguring would theoretically be higher), but I had a really tiny Internet cap for a few years some time ago.
Glances at nonexistant bank account - and computer from 2006
:P
I never use Windows because I want to, I use it because I have to. So paying hundreds of euros to have the privilege to use an OS I don't care for just because some developer decided not to make their application portable is very hard for me to swallow.
Especially now with the built-in ads, telemetry, OneDrive and whatnot. You're not going to guilt me into purchasing a copy of that garbage fire of an OS just so that I can boot up the odd windows-only application every other month.
Any other commercial OS at enterprise level is way beyond that in developer licenses.
And the OS is a beautiful successor for NeXTSTEP.
For what it's worth I was mainly thinking of the Linux/BSDs that I actually want to use when given the choice
It's free forever, easily customizable to fit my various needs, from embedded barebones application to media server to workstation. I actually own and control the OS (my debian doesn't upgrade to a new version behind my back) and I can even dig into the code if I want to.
I'd sooner give 100 euros to the FreeBSD fountation than 10 euros to MS frankly. I gave them enough money indirectly already with all these prebuilt computers I've bought in the past decades which came with Windows preinstalled, only for me to immediately wipe them with something else.
Huh? If you need one license, Windows pro is much cheaper? Along with visual studio community edition etc.
It really annoys me that Apple refuses to license OS X for non-appearance hw though. Might even eventually have bought some Apple hw, if I could start developing for ios/OSX without having to start with buying a computer I don't need. (I might have bought an iphone, for example).
Also your comment did completly miss the point of the parent comment.
There may not be a limit to how many machines you can legally install it on (I'm actually not sure), but the license is very clear as to what machines you can install it on (i.e. only Apple hardware). Though in reality it's been quite some time since Apple tried to enforce that provision very hard, and never on individual users installing it themselves on usual PC hardware.
> Oh and you can download the source for the kernel (I'm not sure which versiin this really mirrors and I'm not a mac guy so I don't care) here https://opensource.apple.com/
The kernels are usually pretty up to date, but the public code is an even smaller portion of the OS than the Linux kernel is (many key drivers are not open source, and forget anything approaching the level of the UI).
> but the license is very clear as to what machines you can install it on (i.e. only Apple hardware)
Would be nice to get a reference on that. But ignoring this my point still stands that pjmlps comment was more a misplaced snarky remark against apple that missed the point. But hey I neither use Mac OS nor Windows (only in the circumstanced when I'm forced to offer support) so I don't really care :)
But a PS: Most hardware you buy comes with a Windows license so people who don't want to buy Windows can probably still use this.
> 2. Permitted License Uses and Restrictions.
> A. Preinstalled and Single-Copy Apple Software License. Subject to the terms and conditions of this License, unless you obtained the Apple Software from the Mac App Store, through an automatic download or under a volume license, maintenance or other written agreement from Apple, you are granted a limited, non-exclusive license to install, use and run one (1) copy of the Apple Software on a single Apple-branded computer at any one time. For example, these single-copy license terms apply to you if you obtained the Apple Software preinstalled on Apple-branded hardware.
There's also section 2B(iii), that is for copies obtained via Apple Store, that allows you to run virtual machines:
> iii) to install, use and run up to two (2) additional copies or instances of the Apple Software within virtual operating system environments on each Mac Computer you own or control that is already running the Apple Software, for purposes of: (a) software development; (b) testing during software development; (c) using macOS Server; or (d) personal, non-commercial use.
Emphasis mine.
Seems they have it in the offical online store still actually: https://www.apple.com/shop/product/MC573Z/A/mac-os-x-106-sno...
However when I inquired at an authorized store about a later version after it came out they said that it was not available on disc and you had to buy it via the Mac App Store which means you need to have OS X in the first place but I'm not sure if they were talking about their own store or in general.
I'm on mobile right now so not going to bother finding out what other versions can be bought on disc media from the official online store but if someone else would like to chime in with more links that'd be welcome.
So anyone that cares about following the law needs to buy an Apple computer to run those DVDs you mention.
Hackintoshes have no place in compliant businesses.
And all that other stuff can be turned off.
https://developer.microsoft.com/en-us/microsoft-edge/tools/v...
- https://github.com/GoSecure/malboxes - https://github.com/joefitzgerald/packer-windows - https://www.packer.io/intro/why.html
Instead of creating a thread and blocking until being signalled in the continuation of an IO, enqueue a work item to continue work at PASSIVE_LEVEL (i.e. schedule a continuation).
Async means continuations, otherwise you're blocking.
https://docs.microsoft.com/en-us/windows-hardware/drivers/ke...
But perhaps that's what you did. If you're still stuck, I suggest you email Larry Osterman (Firstname.Lastname@microsoft.com) for a clue; Larry has worked on the NTFS driver and he's responded to my emails in the past. For an improved probability of a useful response, I'd send him a link to a Stack Overflow question, so that other people benefit from the reply also. (This is a general rule for emailing people for developer help, you'd be surprised how many random people email system / compiler developers for coding assistance.)
He pops up here occasionally to defend Windows unique I/O subsystem¹, and monitors Twitter².
¹ https://hn.algolia.com/?query=author:trentnelson&sort=byDate...
You can see some of the fun hoops you have to go through to get ZFS as your root filesystem here: https://github.com/zfsonlinux/zfs/wiki/Ubuntu-16.04-Root-on-...
For now I just have 4 disks in a ZFS-raid for storage, and then I have installed my OS on a separate SSD.
If you've written it up in public, any chance of a link?
And of course, after each kernel update, link your /dev/by-id/... devices into /dev and rerun grub2-mkconfig by hand. Otherwise, you won't boot the new kernel you just updated.
If this machine weren't a pet, it would be wiped clean and reinstalled with xfs /.
All of my Linux machines with ZFS are running Arch Linux (as well as a few servers running FreeBSD) and I don't have to do anything special.
For example, I'll update them every few days (or whenever I don't mind having to "re-open" all my applications, tabs, etc.) and I just run "pacaur -Syyu", have it update everything, and reboot when it's done. It starts back up, I enter in my FDE passphrase, and it boots right up.
https://github.com/zfsonlinux/grub/issues/5
zpool status will show only basename component of the device name and grub will look for it in /dev only. As I created the pool with ata-* device names, which are constant per device, it will of course fail, because they are in the /dev/by-id/ and grub is not looking for them there.
Next time there is a kernel update, I' going to try the env variable mentioned in the august 2017 comment. Hopefully it will work right.
ZFS woes, and Red Hat's penchant for yanking hardware support (like a PERC/4e RAID controller I encountered this spring), have brought me to the point that the only new CentOS installations I'll make will be KVM guests.
The last straw for me was the 1708 release, when the ZFS modules failed to build, leaving my home NAS stuck on the old kernel. Out went CentOS, in went Ubuntu Server. No regrets.
So I've taken to having ext4 or whatever as the boot drive and a zpool for anything I care about :)
With archzfs I get binary upgrades with every kernel, and I've never had a problem at boot after a kernel update.
BTRFS still cannot be trusted for various reasons. It was deprecated as of RHEL 7.4
It's very good at what it does within that assumption, of course. But do you think behaviours like "you filled up too much of your disk, performance is crippled unless you wipe and rebuild" is "Just Works"?
Would be ironic if Linux has so-so fatx support because of patents, and OS X lacks zfs because of patents..
Still, there is a fair amount of fragmentation in the ZFS world. It's possible that it will work fine (provided you got all the feature flags to match), but I am very skeptical that being able to mount in both will happen any time soon.
Even Microsoft's own https://docs.microsoft.com/en-us/windows-server/storage/refs... can't be used as a boot drive currently.
You'd still need to go for SMB or NFS for that.
If this is possible I would consider it one of the most impressive things I'd ever seen.
NFS is what you're "supposed" to use.
Problem with NFS is that it's really glitchy. For example I cannot disconnect my laptop's (higher-power) USB Wi-Fi dongle when I want to move around, because the PHY disappearing from under my NFS mount produces a kworker that consumes 100% CPU.
The good news: I found a Red Hat bugzilla thread with repro info that perfectly matched what I was seeing, which identified the root cause and generated an upstream kernel patch that completely eliminated the problem. This all happened a couple years ago, for kernel 3.8 or so.
The bad news: I'm using kernel 4.1.6.
(I'll upgrade eventually, and see if the problem has conveniently disappeared. If it hasn't, I'll make the effort to switch to SMB. I'll also see what happens if I trigger this bug on a kernel with NFS compiled as a module at some point... >:D)
Except some of the nice features btrfs has. Like almost arbitrary online restriping; on-demand deduplication, defragmentation and compression of existing files; reflink copy; nocow-flag, ...
https://social.technet.microsoft.com/Forums/en-US/21889ca0-2...
Currently there's no good FS that can work together with Windows and Linux/Unix. I mean the one that works on both would be ExFAT but its age is showing up.
I currently found a workaround to have FreeNAS installed on VirtualBox and then share the volume through Samba, it works, but it is hacky. A native solution would be far better.
ZFS is not designed for this use case, but at least it is something. Having compression, encryption, integrity checking, and data duplication on a potentially flaky external drive would be killer features.
Sorry. Couldn't resist. Microsoft promises something better than NTFS - something "object oriented" or "database driven" - since before I moved to Windows NT 3.5.