3 ms·
"Doing regular package updates is very slow with btrfs. This is due to fsync() being called several times per file." You mean that fsync()s are more expensive
by jeffdavis 14y ago
"Doing regular package updates is very slow with btrfs. This is due to fsync() being called several times per file."
You mean that fsync()s are more expensive on btrfs, or ubuntu calls them more often when using btrfs for some reason?
- rogerbinns 14y agoThe former - fsyncs are more expensive because they involve copy on write updates all the way up the tree to the root. Some of the fsyncs are there because of ext4 quirks. That all said, every kernel release brings big improvements in btrfs especially metadata handling. IOW it is currently the worst it will be.
- jeffdavis 14y agoWhy not just sync the data change and sync the metadata changes only to a write-ahead log? Or if the data is logged also, you only need to sync the log. I assume btrfs uses a log, right?
- rogerbinns 14y agoA tree is the main data structure. The inspiration is this pdf http://www.usenix.org/events/lsf07/tech/rodeh.pdf http://www.usenix.org/events/lsf07/tech/rodeh.pdf There is a log to help with fsyncs. http://en.wikipedia.org/wiki/Btrfs http://en.wikipedia.org/wiki/Btrfs