rocksdb/utilities/blob_db
Jay Zhuang 29102641dd Skip directory fsync for filesystem btrfs (#8903)
Summary:
Directory fsync might be expensive on btrfs and it may not be needed.
Here are 4 directory fsync cases:
1. creating a new file: dir-fsync is not needed on btrfs, as long as the
   new file itself is synced.
2. renaming a file: dir-fsync is not needed if the renamed file is
   synced. So an API `FsyncAfterFileRename(filename, ...)` is provided
   to sync the file on btrfs. By default, it just calls dir-fsync.
3. deleting files: dir-fsync is forced by set
   `IOOptions.force_dir_fsync = true`
4. renaming multiple files (like backup and checkpoint): dir-fsync is
   forced, the same as above.

Pull Request resolved: https://github.com/facebook/rocksdb/pull/8903

Test Plan: run tests on btrfs and non btrfs

Reviewed By: ajkr

Differential Revision: D30885059

Pulled By: jay-zhuang

fbshipit-source-id: dd2730b31580b0bcaedffc318a762d7dbf25de4a
2021-11-03 12:21:27 -07:00
..
blob_compaction_filter.cc Cleanup includes in dbformat.h (#8930) 2021-09-29 04:04:40 -07:00
blob_compaction_filter.h
blob_db.cc Cleanup includes in dbformat.h (#8930) 2021-09-29 04:04:40 -07:00
blob_db.h
blob_db_gc_stats.h Fix and detect headers with missing dependencies (#8893) 2021-09-10 10:00:26 -07:00
blob_db_impl.cc Skip directory fsync for filesystem btrfs (#8903) 2021-11-03 12:21:27 -07:00
blob_db_impl.h Skip directory fsync for filesystem btrfs (#8903) 2021-11-03 12:21:27 -07:00
blob_db_impl_filesnapshot.cc
blob_db_iterator.h
blob_db_listener.h Make EventListener into a Customizable Class (#8473) 2021-07-27 07:47:02 -07:00
blob_db_test.cc Deflake BlobDBTest.SnapshotAndGarbageCollection (#8444) 2021-06-22 17:34:03 -07:00
blob_dump_tool.cc
blob_dump_tool.h
blob_file.cc
blob_file.h