This might raise false expectations with other users of this procedure. When I see something like

```ocaml
val fsync_dir : string -> unit Lwt.t
```

I expect this to fsync the path of the directory I pass to the action. This code will fsync the parent directory instead.

How about keeping `fsync_dir` as is, but without the call to `Filename.dirname` (and renaming the argument) and moving `Filename.dirname` to the call site (or figure out some good name for an action which *does* expect a file path argument & performs the `dirname` call as required)?