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
..
2020-10-07 12:34:34 -07:00
2021-09-07 11:31:59 -07:00
2021-09-07 11:31:59 -07:00
2020-11-03 12:46:36 -08:00
2021-10-22 10:13:15 -07:00
2021-01-28 17:42:16 -08:00
2021-09-10 10:00:26 -07:00
2021-09-10 10:00:26 -07:00
2021-02-26 08:50:42 -08:00
2020-06-02 15:05:07 -07:00
2020-02-20 12:09:57 -08:00
2021-02-26 08:50:42 -08:00
2021-03-04 00:43:48 -08:00
2021-06-29 09:08:57 -07:00
2020-02-20 12:09:57 -08:00
2020-02-20 12:09:57 -08:00
2021-10-22 10:13:15 -07:00
2021-07-21 17:37:53 -07:00
2021-07-21 17:37:53 -07:00
2020-02-20 12:09:57 -08:00
2021-03-10 09:05:56 -08:00
2020-12-04 15:22:33 -08:00
2020-12-01 11:21:44 -08:00
2019-05-21 16:22:35 -07:00
2020-12-01 11:21:44 -08:00
2021-09-10 10:00:26 -07:00
2021-06-16 18:30:34 -07:00
2021-09-07 11:31:59 -07:00
2021-06-16 18:30:34 -07:00
2021-07-29 17:23:01 -07:00
2021-09-10 10:00:26 -07:00
2021-09-29 04:04:40 -07:00
2021-03-15 04:34:11 -07:00
2020-02-20 12:09:57 -08:00
2020-09-28 11:35:00 -07:00
2021-09-10 10:00:26 -07:00
2021-09-28 05:32:02 -07:00
2021-09-28 05:32:02 -07:00
2021-09-21 09:23:48 -07:00
2020-10-01 09:23:04 -07:00
2021-04-26 12:43:45 -07:00
2020-10-27 10:33:09 -07:00
2021-08-20 18:41:51 -07:00
2020-03-20 14:59:54 -07:00
2021-10-18 23:32:01 -07:00
2021-10-18 23:32:01 -07:00
2021-10-18 23:32:01 -07:00
2020-06-03 15:55:03 -07:00
2021-02-19 13:47:25 -08:00
2021-09-07 11:31:59 -07:00
2021-01-25 22:09:11 -08:00
2021-02-26 08:50:42 -08:00
2021-09-10 10:00:26 -07:00
2020-04-20 13:24:25 -07:00
2021-09-07 11:31:59 -07:00
2020-04-21 13:16:31 -07:00
2019-05-21 16:22:35 -07:00
2020-02-20 12:09:57 -08:00
2021-05-12 12:36:43 -07:00
2021-10-18 23:32:01 -07:00
2021-09-22 19:36:06 -07:00
2021-09-10 08:37:04 -07:00
2021-09-22 19:36:06 -07:00
2021-09-07 13:05:23 -07:00
2021-03-15 04:34:11 -07:00
2021-03-15 04:34:11 -07:00
2021-02-26 08:50:42 -08:00
2021-02-26 08:50:42 -08:00
2021-02-26 08:50:42 -08:00
2021-08-20 18:41:51 -07:00
2021-08-20 18:41:51 -07:00
2021-09-10 10:00:26 -07:00
2021-09-07 13:05:23 -07:00
2020-02-20 12:09:57 -08:00
2021-10-19 10:43:04 -07:00
2021-05-19 21:41:31 -07:00
2020-02-20 12:09:57 -08:00
2021-03-15 04:34:11 -07:00
2021-09-01 14:28:58 -07:00
2021-10-18 23:32:01 -07:00
2021-03-25 22:08:58 -07:00
2021-01-04 10:46:24 -08:00
2021-05-19 16:51:13 -07:00
2020-07-15 09:23:23 -07:00
2021-09-07 11:31:59 -07:00
2020-02-20 12:09:57 -08:00
2021-08-06 19:06:02 -07:00
2020-06-13 13:25:20 -07:00
2017-07-15 16:11:23 -07:00
2020-02-20 12:09:57 -08:00
2021-11-03 12:21:27 -07:00
2021-03-15 04:34:11 -07:00
2021-03-10 11:15:46 -08:00
2021-10-06 07:48:31 -07:00
2020-04-01 16:40:18 -07:00
2021-09-10 10:00:26 -07:00
2021-08-20 18:41:51 -07:00
2021-08-20 18:41:51 -07:00
2021-09-10 10:00:26 -07:00