Skip to content

v0.2.5

Choose a tag to compare

@github-actions github-actions released this 07 Aug 13:08
· 163 commits to main since this release
v0.2.5

Added

  • rawstor_object_flush(): a durability barrier — once its callback reports success, every write that completed before the call is guaranteed durable. Backed by fdatasync() (F_FULLFSYNC on macOS) for file://, and a new RAWSTOR_CMD_FLUSH OST wire command for ost://.
  • rawstor-vhost and rawstor-vhost-qemu now implement VIRTIO_BLK_T_FLUSH (via rawstor_object_flush()) instead of responding VIRTIO_BLK_S_UNSUPP, and advertise the VIRTIO_BLK_F_FLUSH feature.

Changed

  • librawstor no longer ignores SIGPIPE process-wide; OST client/server writes and the rawstor-vhost control-socket write now suppress it per-call via MSG_NOSIGNAL (SO_NOSIGPIPE on macOS) instead. rawstor-vhost-qemu still ignores SIGPIPE process-wide, since the vendored libvhost-user writes to its control socket without MSG_NOSIGNAL and can't be patched.

Fixed

  • A short write on an OST connection (client or server) now triggers a reconnect instead of leaving the connection open with a desynchronized byte stream.