Skip to content

Latest commit

 

History

History
507 lines (316 loc) · 14.4 KB

WHATSNEW.md

File metadata and controls

507 lines (316 loc) · 14.4 KB

Upcoming features

Base on DRBD 9.1 See WinDRBD 1.2 branch (windrbd-1.2)

DRBD reactor support

What's new in version 1.1.19

Disabled backing device I/O corking which was introduced in WinDRBD 1.1.8. This caused I/O to hang longer than expected (several minutes). Expect bitmap I/O (initial read of bitmap) being slower now (as in pre-1.1.8 releases).

What's new in version 1.1.18

Cygwin update: fix for console close. Before that sometimes processes (like drbdadm, ...) took several seconds to exit and sometimes they never exited at all. This should be fixed with this version.

What's new in version 1.1.17

WinDRBD now has its own timer to detect disk timeouts. This fixes disk timeout on secondaries, during resync and also for meta data. The DRBD disk timeout timers have been removed. This solves many issues we had in conjunction with disk timeouts.

What's new in version 1.1.16

Initialize bios_event also for upper block devices. This should fix a BSOD that might trigger after 4 billion I/O requests on the upper device.

What's new in version 1.1.15

Kernel threads are now running with stack swapping disabled. This should fix some very rare BSODs when another thread accesses the stack (for example an event structure) of a thread whichs stack is swapped out.

What's new in version 1.1.14

downgrade cygwin DLL 3.5.3 -> 3.4.10

Fix for drbdadm create-md: clear whole device for external metadata

What's new in version 1.1.13

update cygwin DLL 3.4.10 -> 3.5.3

What's new in version 1.1.12

Ensure that at most one fencing script is running at the same time

Thaw I/O also when peer is outdated (when there is a valid connection we can exit fencing mode)

Fix for exiting fencing mode on drbdadm disconnect

No timeout on reading boot sector (when probing for existing file systems on backing disks)

Eliminated a Warning message regarding bio still on some list

What's new in version 1.1.11

update cygwin DLL 3.4.5 -> 3.4.10

What's new in version 1.1.10

Memory pressure fixes

Fixed a drbdadm primary hang when I/O is still suspended by the resync stalled logic introduced in 1.1.8.

What's new in version 1.1.9

Handles disk timeout on Primary's data backing device gracefully. WinDRBD will fail I/O to DRBD so DRBD thinks that the disk failed.

Fixed BSOD on drbdadm adjust network config. Reason was that DRBD_ADM_DISCONNECT returned before drbd-receiver was restarted (and a followup DRBD_ADM_DELPATH freed the drbd_path still in use by this receiver.

What's new in version 1.1.8

LINSTOR support

Driver locking via windrbd tool: allows to recreate the bus device when an update fails. As a consequence of this patch, downgrading from 1.1.8 to 1.1.7 or older requires a reboot.

Backing device I/O corking: Simple disk scheduler that accumulates I/O requests that are adjacent on disk into a single I/O request. This speeds up reading the bitmap on drbdadm attach by a factor of 10.

Polling for netlink packets: there is a new ioctl() that returns if a netlink packet is ready for being read without consuming it. This allows drbd-utils to poll for I/O on stdin and for netlink packets at the same time.

Disk timeout: DRBD was fixed at certain places to allow I/O completion after disk timeout has elapsed. Disk timeout now should work on the Primary side.

Suspend/Resume application I/O: WinDRBD now can suspend application I/O on the upper (SCSI disk) I/O interface. This can be controlled by a windrbd command.

Automatically suspend/resume on resync stuckness: When an application writes the same block all the time, DRBD will detect this (via a timeout) and suspend application I/O by itself until resync continues. This patch lives in the DRBD repository.

Resizing virtual partition table: Online resize of WinDRBD disks that have a virtual partition table (generated by WinDRBD for a backing device containing a file system) now works as expected. In paticular the partition size is not changed by WinDRBD any more.

Fixed panic() implementation

Fixed a drbdsetup status hang (was an endless loop in the netlink layer).

What's new in version 1.1.7

Fixed a BSOD in the network driver when memory allocation failed.

Fixed a performance bug (TCP/IP nodelay option was not set) that increased latency with protocol C (20ms instead of 0.5ms)

Implemented ioctl for polling for netlink packets (without consuming them). This makes poll_hup in drbd utils work (which is used by drbd reactor).

Also stop and start drbd reactor service on install / upgrade.

What's new in version 1.1.6

Updated cygwin DLL and binaries (Feb 3 2023)

Add PATH component to programs run by installer. This enables running the installer from a background service.

Fixed ReFS support (was broken since 1.1.0, works in 1.0.2)

Add ReFS support for existing data partitions (virtual partition table).

What's new in version 1.1.5

Fixed bug with large disks (>2TB) introduced with 1.1.4

What's new in version 1.1.4

Virtual partition table for existing NTFS data partitions.

What's new in version 1.1.3

Fixed a BSOD on upgrade if stopping the old driver fails

stop logger after driver (if possible) so we see driver unload messages.

What's new in version 1.1.2

Fixed a BSOD when REMOVE_DEVICE timed out: we now always wait for REMOVE_DEVICE being sent, drbdadm secondary may take 40 seconds.

What's new in version 1.1.1

Release for upgrading from 1.1.0 without official certificate

What's new in version 1.1.0

Secureboot support

Many smaller fixes (see previous entries below)

What's new in version 1.1.0-rc5

Fixed drbdadm adjust: Don't always detach / attach

Fixed drbdsetup hang: there is a timeout in stable_state_change now

What's new in version 1.1.0-rc4

Quit drbdsetup events2 processes on upgrading.

Fixed a BSOD on I/O while removing the Windows Disk device. (there was an issue with remove locks).

What's new in version 1.1.0-rc3

Fix a DRBD issue that causes a resource to be stucked in Negoiating on attach when there were 3 nodes.

Workaround for a (possible) Windows bug when reusing data of NTFS partitions larger than 1.3TB. (You will have to specify a drive letter where to mount the WinDRBD device)

Short timeout of drbdadm defaults to 30 seconds for Windows systems.

Implemented disk statistics thereby fixing the resync rate controller (setting c-max-rate had no effect before).

Installer: stop and restart LINSTOR satellite if present

What's new in version 1.1.0-rc2

Can install self-signed WinDRBD driver via ssh

Improve sync speed when sync source

Fixed a WinDRBD stuckness on drbdadm secondary when there was more than one Volume.

Fixed online resize while connected.

What's new in version 1.1.0-rc1

SecureBoot support

What's new in version 1.0.2

Do not fill log file when drbdadm status is run periodically.

Updated config sample.

What's new in version 1.0.1

Wait forever for user mode helper scripts to complete.

Minor JSON output fix in drbd-utils.

What's new in version 1.0.0

Production readiness

What's new in version 1.0.0-rc21

Do not generate a new current UUID wile IO is frozen

What's new in version 1.0.0-rc20

Fixed a bug that triggered invalid page chain assertion and lead to connection abort at the beginning of sync. This also fixed a hang when changing the role (primary / secondary) while sync was going on.

Fixed several memory leaks.

Upgrade to DRBD 9.0.32

What's new in version 1.0.0-rc19

Fixed a BSOD when syncing large volumes (This fix unveiled a PTE BSOD when writing from upper device to lower disk which was also fixed)

Fixed a BSOD on hard network shutdown (unplug network cable, this was actually an upstream DRBD bug)

What's new in version 1.0.0-rc18

Fixed a BSOD bug in writing to event log introduced in 1.0.0-rc14

Installer: no reboot on upgrade should work now also in corner cases.

Installer: Always start user mode services (windrbdlog, windrbdumhelper)

What's new in version 1.0.0-rc17

Userland services (umhelper, log) are started on boot

Upgrade to 9.0.31

Fix for install userland errors message box

Driver unloading (no reboot on Upgrade/Uninstall)

Upgrade to latest cygwin distribution

/VERYSILENT install

Setup logging

Upgrade to 9.0.30

online resize works

dynamic disks as backing devices work

What's new in version 1.0.0-rc16

Fixed a bug that caused volumes with size 1-2 TB not to work properly.

What's new in version 1.0.0-rc15

installer supports selection of windrbd root

fixed a bug that caused creation of lots of receiver threads when in state Connecting (and never terminate them).

What's new in version 1.0.0-rc14

Bundle basic cygwin tools so that truck based replication works without having to install cygwin

Config key feature

Windows Event Log Support

What's new in version 1.0.0-rc13

Fixed many (but not all) BSODs with verifier on.

Upgrade to DRBD 9.0.29

What's new in version 1.0.0-rc12

Fixed a blue screen on disconnect: Reason was sock_really_free called wait_event while in APC (in interrupt) and wait_event tried to sleep.

Fixed a missing mutex_lock in delete_multicast_elements_and_replies_for_file_object() which caused a BSOD from time to time.

Fixed deadlock in recursive calls to rcu_read_lock (which are legal) (rcu_read_lock (A) / synchronize_rcu (B) / rcu_read_lock (A) where the inner rcu used to hang forever at DISPATCH_LEVEL.

WinDRBD root directory is now relocatable (currently registry key WinDRBDRoot in HKLM/system/CurrentControlSet/services/WinDRBD must be edited manually, no installer support yet)

What's new in version 1.0.0-rc11

Updated DRBD from 9.0.25 to 9.0.28.

Fixed a system hang on disconnect: Reason was mod_timer returning a wrong value which later caused a use-after-free of the DRBD connection object.

Print deprecation warning when using block device interface. This is going to be removed with the next (1.0.0-rc12) release.

Fix a NESSUS vulnerability warning: Executable path must be quoted (in windrbdumhelper and windrbdlogger services).

Make sure there is no error 50 warning on drbdadm up.

What's new in version 1.0.0-rc10

Optimization on the network side ("receiver cache"): receive from socket in larger chunks (defaults to 128K), this speeds up secondary writes by a factor of 2 to 4.

Fix in wait_event: wait_event should not be interruptible. Also wait_for_completion should not be interruptible. This fixes lots of BSODs at various places (process_sender_todo, ...) which mainly occured at disconnecting a resource.

There is also an optimization at the backing device side (backing device cache) but this implementation is currently broken and probably will be abandoned (it does not give a speedup). It is disabled by default.

What's new in version 1.0.0-rc9

Use device ejection API on drbdadm secondary (or down). This should solve a BSOD on drbdadm secondary a client had.

Force open counts to 0 on drbdadm secondary (or down). This should solve a handle leak (peer cannot be promoted to Primary) a client had.

Updated drbd-utils shipped to 9.15.0 (was 9.12.0). Amongst other things this makes the disconnected user mode helper work.

Use big pages for receiving sync packets (when sync target). This speeds up sync by a factor 5 when WinDRBD is SyncTarget.

Fixed disconnect while sync bug: On disconnect wait until all bios are completed.

What's new in version 1.0.0-rc8

Fixed bug in wait_queue which caused some operations (drbdadm down right after drbdadm up, drbdadm attach) to hang forever.

Fixed bug in backing device interface that caused I/O on backing devices larger than 2TB to fail.

Eliminated spin_lock_irq calls

Fixed return value of timeout case in wait_event_XXX_timeout

What's new in version 1.0.0-rc7

Upgraded DRBD to 9.0.25

What's new in version 1.0.0-rc6

Fixed several bugs in workqueue implementation (fixes most BSODs on disconnect while sync).

Fixed ko count mechanism (connection is more stable)

What's new in version 1.0.0-rc5

Use SHA256 for signing files (EXE, SYS and CAT)

Fixed connection loss bug

Reengineered workqueues (improves system stability)

What's new in version 1.0.0-rc4

Fixed boot failure introduced with 1.0.0-rc2

What's new in version 1.0.0-rc3

(Probably) Fixed BSOD on upgrade as reported as issue #2 on github

What's new in version 1.0.0-rc2

Fixed fio BSOD as reported as issue #2 on github

What's new in version 1.0.0-rc1

Stability fixes

What's new in version 0.10.7

Refactored locking

Online verify

drbdadm status and drbdsetup events2 as non-Adminitrator user.

windrbd create-resource-from-url command

Installer creates WinDRBD bus device

Don't lose network printk's on boot.

windrbd set-syslog-ip command

What's new in version 0.10.6

Upgraded DRBD version from 9.0.17 to 9.0.22

Can set syslog-ip via boot parameters (no need to hack the registry).

What's new in version 0.10.5

Key/Value based DRBD URI syntax

Minor changes to iPXE and drbd.cgi (you might want to update those).

What's new in version 0.10.4

WinDRBD boot device survives network outage (sometimes).

Stability fixes (ran 26 days with continuous I/O).


For older changelog summaries see the version history at the end of README.md