Hacker News new | past | comments | ask | show | jobs | submit login

> Not really a problem when your computer has a large UPS built into it.

Actually it is (through a small one) to name some examples where it can still lose without full sync:

- OS crashes

- random hard reset, e.g. due to bit flips due to e.g. cosmic radiation (happens). Or someone putting their magnetic earphone cases or similar on your laptop or similar.

Also any application which care about data integrity will do full syncs and in turn will get hit by a huge perf. penalty.

I have no idea why people are so adamant to defend Apple in this case, it's pretty clear that they messed up as performance with full flush is just WAY to low and this affects anything which uses full flushes, which any application should at least do on (auto-)safe.

The point of a journalism file system is about making it less likely the file system _itself_ isn't corrupted. Not that the files are not corrupted if they don't use full sync!




I had an NVMe controller randomly reset itself a few days ago. I think it was a heat issue. Not really sure though, may be that the motherboard is dodgy.

This shit does happen.


OS crashes do not cause acknowledged writes to be lost. They are already in the drive's queue.


They do if you don't use F_FULLSYNC, even apple acknowledges it (quote apple man pages):

> Specifically, if the drive loses power or the OS crashes, the application may find that only some or none of their data was written.

It's also worse then just write losses:

> The disk drive may also re-order the data so that later writes may be present, while earlier writes are not.


I'm using "acknowledged" in the sense of SCSI-level flush (per the thread OP), not mac OS's peculiar implementation of fsync.


But the thread OS is about it not being a problem that SCSI-level flushes are supper slow, which is only not a problem if you don't do them (e.g. only use fsync on Mac)?

But reading it again there might have been some confusion about what was meant.


macOS does issue an NVMe flush on standard kernel panics, although of course it's possible to have it die in a way where that doesn't work.




Consider applying for YC's W25 batch! Applications are open till Nov 12.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: