thomas_fa

Joined 11 months ago

Karma
22
Submissions
31
Member since
Nov 24
https://github.com/fractalbits-labs/fractalbits
View on Hacker News

Recent submissions

Comment · 5 months ago
Comment · 5 months ago
Comment · 5 months ago
Comment · 5 months ago
That's a lot of valuable information and thanks for the input. Yes the original blog post is mainly focusing on reducing the metadata overhead due to fsync(), and I got a lot of good feedback from here and a lot of discussion is beyond our original scenario settings. We would like to incorporate all these enhancement suggestions without re-introducing fsync(), and make it work for more general environments.
Comment · 5 months ago
Yes, especially for our object storage each putObject would need to create new entry for in the (data)name space which would need fsync for dir fd.
Comment · 5 months ago
Comment · 5 months ago
Comment · 5 months ago
Yes, that's right. We could go even further, to use the raw devices without relying on any filesystem. We then need to allocate/format raw disk spaces and we can not just open files as simple as right now. It would take some extra effort, but we would like to explore that in the future.

It will also make the system initialization faster, since right now we need to write all zeros to make ext4/xfs to actually initialize extents as "allocated".

Comment · 5 months ago
Yes, that has also been pointed out in other threads. Yes this could be very important settings, and even some of common Linux file systems actually don't do that every time and we need to disable the disk writecache during boot up to make sure the data truly persistent (as in my previous storage company).
Comment · 5 months ago
Yes, as we mentioned in the post, it is targeted for the virtualized NVME disk and we don't have control for actually issing FUA command. We are also changing to open data files with O_DATA_SYNC to make them work with normal on-prem deployment environments.
Comment · 5 months ago
Thanks for pointing it out the mistakes. We should make it clearer, when fsync an opened file descriptor, it would only sync its own metadata. To make it truly persistent, we need to issue another fsync for the directory fd, which would make it more expensive.
Comment · 6 months ago
Comment · 6 months ago

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton