Live data from Hacker News

APFS filesystem format

blog.cugu.eu

141–148 of 148 posts

Re: APFS filesystem format

#142
post #111

Earlier quoted context omitted.

Why does Apple continue to publish Darwin code then? I have always been curious.

If it makes you feel any better, they redact everything related to ARM (and "good luck" compiling it...).

It does not make me feel any better or worse either way. I am merely curious about Apple's motivations for publishing xnu and other Darwin code.

Re: APFS filesystem format

#143

Earlier quoted context omitted.

> In the end, they use open source strategically. If there's no benefit to open-sourcing something, they won't. Wouldn't that apply for most companies? Let's not pretend that Facebook, Microsoft et al do open source as a charity

They don't but they both perform much better than Apple on the subject. React is one of the leaders in JS dev and several other Facebook projects are quite useful. Microsoft is the company with the biggest number of open source contributors and several of their projects like TypeScript are extensively used and they are the biggest contributors to LINUX https://octoverse.github.com/ Apple made Swift an open source lan…

> made Swift an open source language that runs only on their proprietary devices

Incorrect. Besides Linux, like the other poster mentioned, it even runs on Raspberry Pi:

http://dev.iachieved.it/iachievedit/swift-3-0-on-raspberry-p...

Re: APFS filesystem format

#144

Does anyone know or can speculate on the purpose of the 4 "alignment" bytes in the node block header? Are they for alignment (in which case it's strange to have them at the beginning instead of the end)? Or are they describing alignment (in which case it's strange to need 32 bits)?

I just called it alignment. It's just a bit that decides wether the following entries are fixed length or variable length.

Re: APFS filesystem format

#145

Awesome research, would love to be able to do that. Some things that came to mind: I like that some of the block types are "acronyms" of their meanings: 5 = S(pace man), B = B(-tree), C = C(heckpoint). Also, I wonder why the volume superblock magic is "APSB", while the root (container) magic is "NXSB"; maybe this refers to NextStep? Seems a bit anachronistic, but I don't know.

It's not hard to do, it just takes some time ;)

I realized B = B-tree and C = Checkpoint, but I missed 5 = Spaceman. Good idea!

Re: APFS filesystem format

#146

Earlier quoted context omitted.

2^64 nanoseconds is > 580 years. Even cutting it in half for signed values is still likely 10X the expected lifetime of this particular iteration of APFS. The granularity is probably useful for establishing an ordering (even somewhat arbitrarily) for highly concurrent file system operations, and thus potentially skipping a bunch of expensive synchronization.

As mentioned in the article, they are unsigned 64bit integers though.

Don't take anything in the article as completely proven. There are some guesses in there.

Re: APFS filesystem format

#147
post #131

Earlier quoted context omitted.

> They simply lied Changing one's mind based on changing circumstances isn't lying- it's common sense. The 'thing' that Steve Jobs wanted to publish as an open protocol stopped existing due to a lawsuit, the 'thing' that replaces it shared only its name.

I think that's an absurdly low standard to apply to corporate speech. The CEO of a multi-billion dollar company gets on stage during their main annual product conference and says a newly announced product is going to become an open industry standard. This turns out not to possible in exactly the way the company had planned due to a lawsuit, so the company drops the plan entirely. That's a lie by definition. You asser…

> Apple could absolutely have just opened & standardized what FaceTime ended up being, i.e. an open video chat client/server allowing anyone to run a server. I.e. some sort of IRC or Jabber for video messaging.

But why? There's literally no point to doing that. The whole point of opening up FaceTime was so people using non-Apple devices could talk to people using Apple devices. After the lawsuit that became no longer possible.

Re: APFS filesystem format

#148

Earlier quoted context omitted.

Apple didn't own webkit they couldn't keep it closed

The original web rendering engine code was originally licensed under BSD. Apple could have forked it and closed it. JavascriptCore was also based on BSD code, but was then rewritten by the WebKit team and made GPL.

Pretty sure you are in fact wrong.
Post reply on HN