philipp.reisner at linbit.com
Mon Nov 29 15:52:41 CET 2004
Yet another DRBD release: http://oss.linbit.com/drbd/0.7/drbd-0.7.6.tar.gz
The initial motivation to release 0.7.6 was to make DRBD work on
Linux-2.6.10(rc2). But on the day I wanted to release it, this
"SyncSource node does not recognise the end of resync" bug came
to the surface:
It is triggered if
- Your FS uses a block size of 4k
- You use protocol C
- You have File-system IO during start of resync
- Your device is "rather" big.
The bug was that during the start of resync (preferable triggered) by
"drbdadm invalidate XYZ" both nodes need to write the whole BitMap
to disk. In this periode of time of the nodes considered the resync
process as already running, while the other did not.
-> The FS writes that happened during the start of resync, cleared
bits in the BitMap on one node but not on the other node.
=> The effect in the end was that The SyncSource node did not
recognised the end of resync.
The easy fix with older releases is to issue
drbdadm disconnect XYZ
drbdadm connect XYZ
on the secondary node.
After I fixed that issue (without breaking protocol compatibility)
an other problem (that I never saw before on any of my installations)
popped to the surface:
The receiver and the asender thread somhow locked up. I fixed
the code so that this lockup can not happen anymore.
I think this was reported on the list as ... the speed of
the syncer falls until it finally reaches zero ...
For LINBIT customers, prebuild RPMs for SLES8, SLES9, RHAS2.1,
RHAS3, and some other distributions are available at
it is possible to get access the the RPMs by spening a few Euros
* Fixed bug that could cause a lockup of the receiver and
asender threads, the visible outcome was that the syncer
* Fixed a bug that under specific circumstandes caused that the
SyncSource node did not recognised that a resync process was
* "drbdadm invalidate [res]" was not working correct, while
"drbdadm invalidate_remote [res]" works. Fixed the former.
* Make DRBD work on Linux-2.6.10-rc2 and newer: Replaced
sock_alloc() by sock_create(), replaced TASK_ZOMBIE by
* Range checks in drbdadm for all numeric configure parameters.
* A fix to make ioctl()s work on machines with 64bit kernel space
and 32bit user space.
* Ioctl()s are only allowed if the caller has CAP_SYS_ADMIN set.
* Removal of warnings on 64bit architectures.
* Backport of find_first_bit() for x86_64 aka AMD64 for use on
that architecture under Linux-2.4.x
* Changed drbdadm to do the syncer config before the net config.
* Changed the way drbdadm determines the minor_count parameter for
* Improvements to the drbddisk script, to do the right thing
in case Heartbeat is configured with a small timeout than DRBD.
* On request of the debian package maintainers, the debian directory
from SVN is not longer included in the tar.gz releases.
: Dipl-Ing Philipp Reisner Tel +43-1-8178292-50 :
: LINBIT Information Technologies GmbH Fax +43-1-8178292-82 :
: Schönbrunnerstr 244, 1120 Vienna, Austria http://www.linbit.com :
More information about the drbd-announce