News for hackers. Stuff that matters.
Re:Apple releases iOS 10.3 by AdamGibbins on Monday March 27, 2017 @02:16PM (#13970246)
Changing filesystem for billions of phones in a point release? That doesn't sound fun.
Re:Apple releases iOS 10.3 by pflats on Monday March 27, 2017 @02:40PM (#13970465)
Initially, I was thinking the same thing. Given how fast the average Apple consumer updates to major iOS releases, I imagine that rolling it out over a point release is actually part of the plan.

Presumably, if something does go wrong on the individual level, the support burden on the genius bars will be lower (since major iOS releases have traditionally come alongside hardware releases), and if a major bug is found, the number of devices affected will also likely be smaller.

It stills feels wrong on a gut level, and semver folks might not be happy with it, but it seems to make some real sense.

edit: Also, if it went out with 11.0, coordinating all the bug fixes for a 11.0.1 would almost definitely take longer than whatever will be in 10.3.1 release, letting any APFS issues get tweaked faster.

Re:Apple releases iOS 10.3 by gervase on Monday March 27, 2017 @05:48PM (#13972108)
Additionally, it may be a way of hedging their bets. If it all goes smoothly, great. However, if it turned into a big flaming dumpster fire, an iOS point release has a lot less to lose than a major release (and the associated new hardware that comes with one).

"iOS Update Causes Widespread Outages" plays a lot differently with the average person on the street (who already distrusts software updates in general) than "New iPhone Fundamentally Flawed". Feel free to craft your own hyperbolic headlines, but hopefully you get the idea.

If there is any way to link software issues with an iPhone launch, media outlets will do it to grab views from people considering a purchase (i.e., damage to the product launch). The same isn't true of an update; it damages the perception of the ecosystem, but most people don't even know what a software ecosystem is.

Re:Apple releases iOS 10.3 by h1d on Monday March 27, 2017 @08:32PM (#13972988)
Of course they know... They always get buggy upgrade on games and ironically, thanks to them, people are more or less used to buggy upgrades and may not freak out in those events.
Re:Apple releases iOS 10.3 by msbarnett on Monday March 27, 2017 @03:43PM (#13971019)
> It stills feels wrong on a gut level, and semver folks might not be happy with it, but it seems to make some real sense.

If you maintain the public API, it's perfectly valid to radically change the implementation details in a point release.

If you're not going to respect the encapsulation of that kind of working knowledge behind an API, then you might as well just demand the very release of everything should be a Major version release.

Re:Apple releases iOS 10.3 by agmcleod on Monday March 27, 2017 @03:09PM (#13970720)
> It stills feels wrong on a gut level, and semver folks might not be happy with it, but it seems to make some real sense.

Wouldn't this be valid semver if the APIs or general functionality hasn't changed? Or isn't expected to?

Re:Apple releases iOS 10.3 by pflats on Monday March 27, 2017 @07:03PM (#13972607)
I'm far from an expert on file systems or semantic versioning, but the one thing I've heard is that APFS changes the way filenames are written to and read from disk. HFS+ (the old file system Apple OSes used) would automatically normalize file names so you couldn't have two files with names that look the same to a user but are represented with different byte sequences. APFS does not do this on the file-system level. (I heard thirdhand that some APIs might still do the normalization, but I don't have any links or details on that and don't want to spread bad info.)

http://mjtsai.com/blog/2017/03/24/apfss-bag-of-bytes-filenam...

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.
Re:Apple releases iOS 10.3 by revertts on Monday March 27, 2017 @02:52PM (#13970565)
I've been running the beta for quite some time and didn't even notice that it had changed. Honestly, I think it's the best possible way that they can roll this out - iOS is much more restricted and has fewer devices to worry about, so is worlds easier than macOS, and internal dogfooding/the beta program gives them good coverage before hitting the whole population. Doing it in a dot release or major version doesn't seem particularly interesting one way or the other.
Re:Apple releases iOS 10.3 by simonh on Monday March 27, 2017 @04:25PM (#13971421)
Why would doing it at the same time as major changes to every other part of the software be better?

Seriously, for a major change in the underlying system, surely it's better to do that along with as few other fundamental changes as possible?

Re:Apple releases iOS 10.3 by thecosas on Monday March 27, 2017 @02:23PM (#13970320)
Did it on the Beta without even realizing it and it went fine. A little longer of a reboot, but otherwise very smooth. As always, YMMV.
Re:Apple releases iOS 10.3 by nickgrosvenor on Monday March 27, 2017 @02:37PM (#13970432)
what does ymmv stand for?
Re:Apple releases iOS 10.3 by russjr08 on Monday March 27, 2017 @02:38PM (#13970442)
"Your mileage may vary" is what I've always associated it with.
Re:Apple releases iOS 10.3 by thecosas on Monday March 27, 2017 @03:29PM (#13970876)
"Your mileage may vary". Basically, here's what I've seen but it may be different for others.
Re:Apple releases iOS 10.3 by draw_down on Monday March 27, 2017 @02:38PM (#13970448)
Yeah, I think I'll let them work out the kinks there for a good long time before going anywhere near this.
Re:Apple releases iOS 10.3 by warcher on Monday March 27, 2017 @02:40PM (#13970469)
Yeah this is kind of causing a full on panic in the office today.

If Apple fucks something up, and your app don't run no more, it's your fault and it's now your problem.

Re:Apple releases iOS 10.3 by josho on Monday March 27, 2017 @03:22PM (#13970818)
That is why Apple has had 10.3 in beta, so that developers could test their apps and report breakages before anything goes public. Seems like business as usual to me.
Re:Apple releases iOS 10.3 by warcher on Monday March 27, 2017 @02:42PM (#13970483)
You literally can't leave a review saying "This version of iOS is shitty and it breaks all my apps."

But you can absolutely throw a brick through my front window.

Re:Apple releases iOS 10.3 by jonathannorris on Monday March 27, 2017 @02:55PM (#13970592)
Re:Apple releases iOS 10.3 by warcher on Monday March 27, 2017 @03:29PM (#13970879)
haha, I knew that "actually..." was coming. I deserved that.

Whether our customers will be mollified by me replying "Actually, it's Apple's fault, you see..." remains to be seen. It has not been my experience that they're real forgiving of that kind of thing. I've been through this before.

My white knuckle grip on my chair is loosening a little though-- we might get through this bit of turbulence ok. Knock on wood. ;)

Re:Apple releases iOS 10.3 by nicky0 on Monday March 27, 2017 @05:56PM (#13972172)
Presumably you've been testing your app during the beta phase?
Re:Apple releases iOS 10.3 by warcher on Wednesday March 29, 2017 @11:18AM (#13987080)
Apps. Nearly twenty, maybe more, I lost count. And no-- I actually wasn't expecting a filesystem switcheroo in a point release. Surprise!
Re:Apple releases iOS 10.3 by sixstringtheory on Monday March 27, 2017 @03:13PM (#13970752)
That deals with responding to reviews of your app, not an ability to leave a review for iOS itself. Either way, I don't think the average consumer will understand that they've lost data because of a bug in a new filesystem. And if you are an app with appreciable market share and something goes wrong, I doubt one would be able to mitigate a crush of negative reviews.
Re:Apple releases iOS 10.3 by thecosas on Monday March 27, 2017 @03:32PM (#13970903)
If you're an app with a large marketshare, the responsible thing would be to do testing with the betas to search out potential bugs.

Doesn't cover all instances, but should help with any MAJOR bugs that would come up.

Re:Apple releases iOS 10.3 by warcher on Monday March 27, 2017 @04:30PM (#13971473)
You only get the level of engineering investment that somebody is willing to pay for.
Re:Apple releases iOS 10.3 by umanwizard on Monday March 27, 2017 @05:28PM (#13971937)
Lol. New to Apple?
Re:Apple releases iOS 10.3 by najati83 on Monday March 27, 2017 @03:25PM (#13970847)
I can say this update took longer than usual. But everything went okay, from what I can tell.