• v1.5.0 9ad6822353

    Release 1.5.0 Stable

    vitalif released this 2024-03-16 15:35:10 +03:00 | 273 commits to master since this release

    After half a year of hard work, VitastorFS is finally here ! :-)

    New features:

    • VitastorFS, a full-featured clustered (read-write-many) file system. Documentation: VitastorFS
    • Embedded key-value database implementation based on Parallel Optimistic B-Tree algorithm and used for the metadata of VitastorFS
    • Pool management commands in vitastor-cli (create-pool, list-pools, rm-pool, modify-pool). Thanks MIND Software (https://mindsw.io) for their contribution! Documentation

    Bug fixes:

    • Fix a very rare "infinite loop" in the client library
    • Fix a rare OSD hang on during start when zeroing out bad metadata entries left from the previous run
    Downloads
     
  • v1.4.8 38b8963330

    Release 1.4.8 Stable

    vitalif released this 2024-02-29 09:58:34 +03:00 | 360 commits to master since this release

    • Do not use \r if output is not a terminal (should fix unexpected job output in proxmox)
    • Fix rm/rm-data error return code, add --down-ok option to bypass the error
    • Add EIO retry timeout and allow to disable these retries, rename up_wait_retry_interval to client_retry_interval
    • Add ubuntu jammy build
    • Wait for blockstore initialisation before starting OSD (prevent timeouts when init takes time)
    • Fix a rare use-after-free in automatic sync after delete in blockstore
    Downloads
     
  • v1.4.7 5e934264cf

    Release 1.4.7 Stable

    vitalif released this 2024-02-22 12:45:52 +03:00 | 367 commits to master since this release

    • Fix another old "BUG: Attempt to overwrite used offset" in a very simple
      case: bs=4k rw=write iodepth=16 from OSD start; add this case to tests
    • Fix a rare crash with "unexpected state during flush: 0x51" possible with
      EC since 1.4.2 during rebalance and OSD outages
    • Fix a rare write stall with EC & immediate_commit=none caused by sync
      operations reserving unneeded space in the journal
    • Fix 32-bit build warnings, most in printf/scanf format strings
    Downloads
     
  • v1.4.6 f87964861d

    Release 1.4.6 Stable

    vitalif released this 2024-02-20 17:01:26 +03:00 | 374 commits to master since this release

    Unwavering stabilization of 1.4.x, continued :-)

    • Include the accidentally lost part of 1.4.5 journal trimming fix
    • Fix a possible OSD crash with "BUG: Attempt to overwrite used offset"
      which was probably present for long time, but became apparent after
      fixing flapping tests in CI
    • Fix remaining flapping tests in CI. It was the first time when tests
      actually passed without retries :-)
    Downloads
     
  • v1.4.5 f882c7dd87

    Release 1.4.5 Stable

    vitalif released this 2024-02-16 10:13:33 +03:00 | 380 commits to master since this release

    • Fix a write stall caused by incorrect journal trimming introduced in 1.4.4 :)
    • Fix PGs sometimes hanging in "starting" state on mass OSD restarts
    • Fix a rare crash with "map::at" during OSD pings
    • Use new defaults for non-capacitor (desktop) SSDs - improves T1Q256 random write from ~6k iops to ~45k iops
    • Make journal_trim_interval configurable
    Downloads
     
  • v1.4.4 c777a0041a

    Release 1.4.4 Stable

    vitalif released this 2024-02-11 16:23:08 +03:00 | 387 commits to master since this release

    A couple of fixes for EC pools

    • Fix a segfault possible on partial EC overwrite in 1234 -> 5030 rebalance scenario
    • Fix two problems leading to EC pools stalling on rebalance & parallel sudden stops
      of OSDs, for example during a sudden poweroff of a host:
      • Recovery auto-tuning (1.4.0 feature) could apply too large delays and stall
        the EC journal - fixed by limiting delays with a new recovery_tune_sleep_cutoff_us
        parameter (10 seconds by default) and applying recovery pauses before write
        operations, not after them, to not occupy space in the journal for long time
      • Dynamic journal space reservation (1.3.0 feature) wasn't accounting new writes
        when checking the limit so OSDs could still fill the journal fully and stall -
        fixed by including new writes into the limit
    • Print etcd dbSize instead of dbSizeInUse in status
    Downloads
     
  • v1.4.3 27e9f244ec

    Release 1.4.3 Stable

    vitalif released this 2024-02-09 00:29:31 +03:00 | 397 commits to master since this release

    Hotfix for hotfix O:-)

    • "Write stall fix" was incomplete and EC write stalls could
      continue even on 1.4.2. Now they're finally fixed O:-)
    • Make monitor ignore statistics of stopped OSDs. Previously if you stopped all
      OSDs the last total I/O numbers would remain the same indefinitely
    Downloads
     
  • v1.4.2 016115c0d4

    Release 1.4.2 Stable

    vitalif released this 2024-02-04 02:23:49 +03:00 | 400 commits to master since this release

    • Log to systemd by default
    • Fix excessive autosyncs after every operation with disabled immediate_commit (introduced in 1.1.0)
    • Fix a possible write stall with EC due to the lack of OSD wakeup after stabilizing previous writes
    • Change sync operation semantics as a final fix to possible write stalls with EC and disabled immediate_commit
    • Sync after deleting data in CLI rm / rm-data if immediate_commit is disabled
    • Fix OSDs ignoring syncs & autosyncs for delete operations
    • Fix OSD space reporting sometimes adding garbage zeros for deleted inodes (causing extra pool/stats etcd keys for deleted pools)
    • Speed up monitor failover - change default etcd_mon_ttl from 30 to 5 seconds
    • Speed up operation retries - change default up_wait_retry_interval to 50 ms
    • Add patch for libvirt 9.10
    Downloads
     
  • v1.4.1 ba55f91409

    Release 1.4.1 Stable

    vitalif released this 2024-01-18 02:31:42 +03:00 | 412 commits to master since this release

    • Fix a monitor crash on primary OSD switching introduced in 1.4.0
    • Fix "partly outside array bounds" warnings for GCC 12 in cpp-btree
    • Fix a realloc memory leak in theory possible with too large listings (OSD_OP_LIST)
    Downloads
     
  • v1.4.0 5280d1d561

    Release 1.4.0 Stable

    vitalif released this 2024-01-12 01:28:33 +03:00 | 420 commits to master since this release

    New features:

    • Intelligent recovery/rebalance speed auto-tuning to reduce its impact on clients (see README -> Features)
    • Auto-restoration of dead VDUSE daemons in CSI plugin
    • Add vitastor-disk update-sb command
    • Update QEMU for Debian Bookworm to 8.1 and use it for CSI plugin

    Bug fixes:

    • Fix pools SOMETIMES staying inactive after stopping a node due to OSDs not reacting
      to PG state changes caused by incorrect full reload of state from etcd on reconnection
    • Make monitors retry pool configuration changes quickier which fixes them being unable
      to apply changes when an ongoing rebalance is quickly making a lot of PGs clean
    • Fix CSI plugin not accepting array of strings as etcd address in /etc/vitastor/vitastor.conf
    • Allow multiple interfaces with the same IP address, for "simple routed" full mesh network
    • Do not ignore loopback addresses for OSD network (to make ECMP setups with frr possible)
    • Fix a rare client crash during OSD reconnections
    • Only treat data partitions as existing OSDs in vitastor-disk prepare
    • Remove etcd parameter from default command examples
    • Fix reported free space sometimes changing non-immediately after deletion of data from OSDs
    • Fix a possible OSD crash on print_slow when bs_op is NULL
    • Use the same etcd_ws_keepalive_interval in mon as in OSD
    • Fix mon not using values from config when /config/global is not present
    • Remove pve-storage-portal-dns-list format for vitastor_etcd_address
    • Parse log_level in cluster_client
    • Fix vitastor-nbd image existence check not working because of non-zeroed inode_watch fields
    • Do not warn on EPIPE in client unless log_level is raised explicitly
    • Fix incorrect error in CSI when searching for the device in /sys
    • Remove 2 last prints to stdout in etcd_state_client
    • Fix a possible OSD crash when checking corrupted journal entries
    Downloads