Using a special vdev? No SLOG needed anymore! (Maybe)

@mav This part I am unclear about:

Why is there any “guessing”? I thought the only rule that determines if the ZIL (or SLOG) is used is whether or not the write is async or sync?

Does this mean that a sync write, even if it’s going to the special vdev because of a dataset “small blocks” policy, will skip the ZIL/SLOG entirely, and just report the write as successful once it commits to the special vdev device?


What if the pool already has a SLOG, and then a special vdev is later added? Which device will then be used for sync writes? Does OpenZFS 2.4 “determine” which device is “faster”? If that’s the case, isn’t it possible that the dedicated SLOG device will never be used and should just be removed from the pool?