[DRBD-announce] drbd-8.4.2.tar.gz

Philipp Reisner philipp.reisner at linbit.com
Thu Sep 6 12:13:23 CEST 2012

Dear DRBD fellows,

Here it is: drbd-8.4.2 !

For any user of DRBD-8.4 we suggest to upgrade to 8.4.2. Previous
8.4 releases had multiple bugs, least one of those can cause
data corruption on a Secondary/Sync target. (In the 8.3 series
this was already fixed with the 8.3.13 release)

  It is worth noting that all previous DRBD-releases did not enforce
  correct ordering of (some) write operations on a resync-target node.

  This can be triggered with the 'cfq' (and possible other) linux
  disk schedulers. -- It is known that when you stay with an DRBD
  release before 8.3.13 and switch the scheduler to 'noop', then it is
  no longer to reproduce the issue.

  It is a rare condition, which is hard to trigger, it may causes 
  corruption in the sense that it looks like if a single block 
  write was not executed on the secondary.
  (actually it was overwritten with the previous version of the data,
   this second write originates from the resync process.)

Apart from that those nasty bugs that caused "disk-barrier no" and
"disk-flushes no" to be ineffective have been removed as well. This
was the reason why the rumour on the net was "drbd-8.3 is faster than 

8.4.2 (api:genl1/proto:86-101)
 * Fixed IO resuming after connection was established before fence
   peer handler returned
 * Fixed an issue in the state engine that could cause state lockup
   with multiple volumes
 * Write all pages of the bitmap if it gets moved during an
   online resize operation. (This issue was introduced with 8.3.10)
 * Fixed a race condition could cause DRBD to go through a
   NetworkFailure state during disconnect
 * Fixed a race condition in the disconnect code path that
   could lead to a BUG() (introduced with 8.4.0)
 * Fixed a write ordering problem on SyncTarget nodes for a write to a block
   that gets resynced at the same time. The bug can only be triggered with a
   device that has a firmware that actually reorders writes to the same
   block (merged from 8.3.13)
 * Fixed a potential deadlock during restart of conflicting writes
 * Disable the write ordering method "barrier" by default, since it is not
   possible for a driver to find out if it works reliably since 2.6.36
 * All fixes that went into 8.3.13
 * Removed a null pointer access when using on-congestion policy on a
   diskless device
 * In case of a graceful detach under IO load, wait for the outstanding
   IO. (As opposed to aborting IOs as a forcefully detach does)
 * Reinstate disabling AL updates with invalidate-remote (8.4.0 regression)
 * Reinstate the 'disk-barrier no', 'disk-flushes no', and 'disk-drain no'
   switches (8.4.0 regression)
 * Backported the request code from DRBD-9. Improves handling of many corner
 * Support FLUSH/FUA bio flags
 * Made the establishing of connections faster
 * New option 'al-updates no' to disable writing transactions into the
   activity log. It is use full if you prefer a full sync after a primary
   crash, for improved performance of a spread out random write work load
 * Expose the data generation identifies via sysfs
 * "--stop" option for online verify to specify a stop sector


: Dipl-Ing Philipp Reisner
: LINBIT | Your Way to High Availability
: Tel: +43-1-8178292-50, Fax: +43-1-8178292-82
: http://www.linbit.com

DRBD(R) and LINBIT(R) are registered trademarks of LINBIT, Austria.

More information about the drbd-announce mailing list