News for hackers. Stuff that matters.
Re:Apple releases iOS 10.3 by mikeash on Monday March 27, 2017 @02:52PM (#13970568)
Rolling it out first on iOS at all doesn't seem like the right approach.

If I were somehow in charge of it, I imagine I'd want to do it like: 1) ship it as officially supported on the Mac, but off by default. 2) a year or two later, ship it as officially supported on the Mac, on by default, but still allow HFS+ as an option. 3) A year or two after that, if all has gone well, then introduce it into iOS (where presumably it's not reasonable to make it optional).

It's really weird to me that Apple is rolling it out to hundreds of millions of devices all at once, when it's not even a bootable filesystem on any of their platforms yet. Seems like the kind of thing where you'd want to take a more gradual approach.

I get that HFS+ is super old and I see why Apple wants to switch to APFS. But I don't get why they're in such a hurry.

Here's hoping their approach works well, in any case!

Re:Apple releases iOS 10.3 by coldtea on Monday March 27, 2017 @03:44PM (#13971027)
>If I were somehow in charge of it, I imagine I'd want to do it like: 1) ship it as officially supported on the Mac, but off by default. 2) a year or two later, ship it as officially supported on the Mac, on by default, but still allow HFS+ as an option. 3) A year or two after that, if all has gone well, then introduce it into iOS (where presumably it's not reasonable to make it optional

The plan doesn't make much sense. For one, the Mac has way more edge cases than iOS (in that people do more, and in more low- and -high level ways) with the filesystem, including running all kinds of unix userlands, exchanging files with other filesystems, etc. In iOS all fs APIs and access are tightly controlled, and there's no mounting of disks, no touching outside the sandbox, no disk management apps, etc.

So iOS is a much better target for first launch than OS X.

Second, with this plan it would take 3-5 years to ever arrive. Why so late? Apple has been developing it for a while, and probably have thousands of tests it has to pass. And they have been running it on 1 million or more devs on the 10.3 beta program on actual devices for feedback for 2 months.

Re:Apple releases iOS 10.3 by mikeash on Monday March 27, 2017 @04:24PM (#13971414)
3-5 years seems to be pretty typical for a filesystem to go from merely available to being battle tested enough to use without thinking about it. Bugs could destroy people's data (and the cloud won't necessarily help if the bugs corrupt data rather than erase it). What's the hurry?
Re:Apple releases iOS 10.3 by coldtea on Monday March 27, 2017 @06:07PM (#13972255)
>Bugs could destroy people's data (and the cloud won't necessarily help if the bugs corrupt data rather than erase it).

There's no reason to expect bugs if you have a comprehensive test suite and extensive internal and beta testing (like with a million of registered iOS developers running it for months).

Doubly so if you control most of the APIs and interactions with the OS tightly in your platform (as iOS does).

Re:Apple releases iOS 10.3 by mikeash on Monday March 27, 2017 @08:26PM (#13972969)
Which is why the rest of iOS has no bugs?

This statement makes me wonder, have you written any software before?

Re:Apple releases iOS 10.3 by coldtea on Tuesday March 28, 2017 @04:18AM (#13974955)
>Which is why the rest of iOS has no bugs?

It has no show stopper bugs, and is used by close to a billion everyday just fine.

And the "rest of the iOS" (kernel, userland, etc) is orders of magnitude more LOC than the filesystem. And with all kind of interactions between components, not just a constrained API that all sandboxed apps use, as is the case with an FS. It has way bigger test surface and (presumably) way smaller test suites than an FS would.

What's the reason to assume an FS which is under production for 2 years now at least (it didn't appear magically formed a day before last WWDC) will have not just some obscure or infrequent bugs, but data killing bugs?

(And why they'd be more than with the frequent new features and changes that Apple made/retrofitted to HFS over the years? Because they've started from scratch?)

Re:Apple releases iOS 10.3 by mikeash on Tuesday March 28, 2017 @09:57AM (#13976577)
Because software has bugs, filesystem software has data corruption bugs, and two years of development with only a couple of months of serious real-world testing is tiny for something like that.

What other filesystems have gone from zero to being the only supported option on their platform in such a short time? ZFS took almost five years. HFS+ was supported in parallel with HFS for a long time.

"And why they'd be more than with the frequent new features and changes that Apple made/retrofitted to HFS over the years? Because they've started from scratch?"

Once again I have to wonder: have you written software before? Of course a brand new from-scratch effort will be buggier than something with a long history.

Re:Apple releases iOS 10.3 by coldtea on Wednesday March 29, 2017 @05:49AM (#13984641)
>Once again I have to wonder: have you written software before?

Yes, for several decades -- though not filesystems.

And I trivially know that software can always have bugs. I also know software has to ship at some point, and that is a different point than the "we're 100% sure it has 0 bugs" point -- which is not possible anyway.

I also don't believe in some cargo cult "optimal necessary period of testing" to make sure a given piece of software has or doesn't have bugs.

I also know that it's perfectly possible to have 10x the testing in 1/10 the time other teams/companies might take for their tests -- (e.g. by having far heavier test suites, more intelligent tests, better fuzzing, more systems to test on in your labs, more QA engineers thrown at the problem, or even formally proving your software's behavior) .

Finally, I can make ad hominem arguments too: have you wrote and deployed any filesystems before? If the domain experts designing AFS are confident to put it in use why we should trust you? Because of your scientific observations of checking how long other companies took to deploy their new filesystems and extrapolating some BS "optimal deployment time" from that?

In any case, maybe visit back this thread in 1 month? If the sky hasn't fallen for iOS 10.3 users (except, at worse, for some edge cases affecting tiny minorities/uncommon setups), maybe you'll be ready for your serving of crow?

Re:Apple releases iOS 10.3 by mikeash on Wednesday March 29, 2017 @09:52AM (#13986177)
I knew this argument would be made.

Why should you believe me instead of the people writing APFS? You shouldn't. I'm stating my opinion on the matter. I'm allowed to disagree with them, and you're allowed to disagree with me, but "Apple thinks it's OK" is not going to convince me. If it was, then I wouldn't have formed a contrary opinion in the first place, since it's so obvious.

Further, we don't even know if the experts are confident. It's entirely possible this decision was made above them and forced on them. It's also entirely possible it wasn't, we just don't know.

In any case, if everything goes smoothly (and I hope it will), that doesn't disprove me. It could mean that you're right, or it could mean that I'm right and they got lucky. It could also mean that some people are losing data, but not visibly enough and not in large enough number to make the news.

You say "except, at worse, for some edge cases affecting tiny minorities/uncommon setups" as if that would justify Apple's approach. That's exactly the kind of thing I'm worried about here. I have no doubt it'll work for the common case. 99.9% of users will not suffer any problems. But I don't see why pushing APFS now as opposed to in a few years is worth the risk of that 0.1%.

Re:Apple releases iOS 10.3 by coldtea on Friday March 31, 2017 @05:33AM (#14002261)
>In any case, if everything goes smoothly (and I hope it will), that doesn't disprove me.

Doesn't that make your case an empty statement that basically amounts to "you can never be too careful" (and which is always right, no matter the outcome)?

>But I don't see why pushing APFS now as opposed to in a few years is worth the risk of that 0.1%.

Because it improves lots of things with the 99.9% -- SSD utilization, better Time Machine, etc.

Re:Apple releases iOS 10.3 by MBCook on Monday March 27, 2017 @03:20PM (#13970796)
The iOS filesystem environment is WAY more controlled than OS X. Updating OS X first would be fewer machines but is the much more difficult task. This would also be one hell of a production test. They obviously think they're ready.
Re:Apple releases iOS 10.3 by 0x0 on Monday March 27, 2017 @04:24PM (#13971417)
iOS has always used case-sensitive HFS, while macs usually need case-insensitive HFS. Since it looks like APFS will drop support for the case-insensitive file system mode, it makes sense to do the forced upgrade on the system that already uses a case-sensitive file system (= iOS).

Plus, it's more straightforward recovering from a broken FS upgrade on iOS since many customers will have iCloud backups enabled, or at least their data stored on iCloud drive, while a mac filled to the brim with all sorts of strange applications and files spread all over the filesystem, likely never been backed up properly, is a tougher call.

Re:Apple releases iOS 10.3 by CameronBanga on Monday March 27, 2017 @11:42PM (#13973862)
I don't have a source, and too tired to look it up. But I thought I saw someone back away who found some tucked away support in APFS for case insensitive file support on macOS.

Maybe misremembering. But someone had hacked it to run as a boot drive, and in doing so, found the setting.

Re:Apple releases iOS 10.3 by tehabe on Monday March 27, 2017 @07:56PM (#13972860)
The problem with supporting APFS and HFS+ at the same time is that FileVault and Time Machine need to be very different on APFS.

FileVault can take advantage of the transparent encryption feature of APFS and TimeMachine can simply backup a snapshot of the file system.

I don't know if Apple (who likes to drop things) will support both concepts.

Also the reason why I assume that APFS will be coming to macOS in the next major release and not in a point release.

Re:Apple releases iOS 10.3 by h1d on Monday March 27, 2017 @08:33PM (#13972996)
What do they care about macOS? I need to see desktops revealed soon.