[DRBD-cvs] svn commit by lars - r1955 - in
plus-branches/07-01-csums: . debian documentation drbd
drbd/linux - svnp run. Investigated 1924 to 1954 r1937 by phil on 20
drbd-cvs at lists.linbit.com
drbd-cvs at lists.linbit.com
Mon Sep 12 10:30:27 CEST 2005
Author: lars
Date: 2005-09-12 10:30:25 +0200 (Mon, 12 Sep 2005)
New Revision: 1955
Added:
plus-branches/07-01-csums/documentation/drbddisk.sgml
Modified:
plus-branches/07-01-csums/
plus-branches/07-01-csums/ChangeLog
plus-branches/07-01-csums/debian/changelog
plus-branches/07-01-csums/documentation/Makefile
plus-branches/07-01-csums/documentation/drbd.conf.sgml
plus-branches/07-01-csums/documentation/drbd.sgml
plus-branches/07-01-csums/documentation/drbdadm.sgml
plus-branches/07-01-csums/documentation/drbdsetup.sgml
plus-branches/07-01-csums/drbd.spec.in
plus-branches/07-01-csums/drbd/Makefile
plus-branches/07-01-csums/drbd/drbd_actlog.c
plus-branches/07-01-csums/drbd/drbd_fs.c
plus-branches/07-01-csums/drbd/drbd_proc.c
plus-branches/07-01-csums/drbd/drbd_receiver.c
plus-branches/07-01-csums/drbd/linux/drbd_config.h
Log:
svnp run. Investigated 1924 to 1954
r1937 by phil on 2005-08-31 19:04:25 +0200 (Wed, 31 Aug 2005)
Changed paths:
M /branches/drbd-0.7/drbd/drbd_receiver.c
This was really hard.
In the kernel's API there are two variants of all bitops. The atomic
ones set_bit(), clear_bit(), test_bit() etc... and the non atomic
ones __set_bit(), __clear_bit() ...
The race condition:
CPU1 was in an IO completion handler and used the __set_bit(SYNC_STARTED,..)
there. Non atomic means: First, it fetched the word from memory....
... CPU2 was exiting the _drbd_process_ee() function and did the clear bit
clear_bit(PROCESS_EE_RUNNING) atomic = fetch, modify and write...
... back on CPU1 we now do the modify and write...
So CPU2 sets the PROCESS_EE_RUNNING bit again, because it fetched
the word before CPU1 did it's atomic update.
r1938 by lars on 2005-08-31 20:07:05 +0200 (Wed, 31 Aug 2005)
Changed paths:
M /branches/drbd-0.7/drbd/drbd_proc.c
if syncer is stalled, show that in /proc/drbd
r1939 by phil on 2005-09-01 09:20:28 +0200 (Thu, 01 Sep 2005)
Changed paths:
M /branches/drbd-0.7/documentation/Makefile
M /branches/drbd-0.7/documentation/drbd.conf.sgml
M /branches/drbd-0.7/documentation/drbd.sgml
M /branches/drbd-0.7/documentation/drbdadm.sgml
M /branches/drbd-0.7/documentation/drbdsetup.sgml
Doc updates by Helmut Wollmersdorfer
r1940 by phil on 2005-09-01 09:45:50 +0200 (Thu, 01 Sep 2005)
Changed paths:
M /branches/drbd-0.7/drbd/drbd_actlog.c
M /branches/drbd-0.7/drbd/drbd_proc.c
Argl! Lars, now you owe me a beer!
That change about displaying "stalled" when the syncer no
longer makes progess hat _two_ bugs!
r1941 by phil on 2005-09-01 10:01:07 +0200 (Thu, 01 Sep 2005)
Changed paths:
M /branches/drbd-0.7/ChangeLog
M /branches/drbd-0.7/debian/changelog
M /branches/drbd-0.7/drbd/linux/drbd_config.h
M /branches/drbd-0.7/drbd.spec.in
Preparing 0.7.13 release
r1942 by phil on 2005-09-01 10:33:38 +0200 (Thu, 01 Sep 2005)
Changed paths:
M /branches/drbd-0.7/documentation/Makefile
drbddisk.sgml not there. Will arrive with next release probably.
r1944 by phil on 2005-09-01 11:36:33 +0200 (Thu, 01 Sep 2005)
Changed paths:
M /branches/drbd-0.7/documentation/Makefile
A /branches/drbd-0.7/documentation/drbddisk.sgml
A manpage for drbddisk! Thanks Helmut!
r1945 by lars on 2005-09-06 10:41:13 +0200 (Tue, 06 Sep 2005)
Changed paths:
M /branches/drbd-0.7/drbd/Makefile
reduce side effects when installing into some $PREFIX (e.g. when building packages)
r1946 by lars on 2005-09-06 15:12:34 +0200 (Tue, 06 Sep 2005)
Changed paths:
M /branches/drbd-0.7/drbd/Makefile
last Makefile change (test wether PREFIX is empty) effectively disabled depmod
altogether, since we set the default of PREFIX to '/', which is obviously non-empty.
fixed.
r1947 by lars on 2005-09-07 19:05:16 +0200 (Wed, 07 Sep 2005)
Changed paths:
M /branches/drbd-0.7/drbd/drbd_fs.c
only use "degraded wait for connection timeout" (degr-wfc-timeout) when
* we are currently not primary
* meta data flags indicate we have been primary before
(so we know we are just recovering from a crash)
* and meta data flags indicate we did not have a peer before the crash,
so it is likely that we won't see it now, either.
which translates to: only if we are recovering from a crash of an active
degraded cluster, which was the original intention for this, anyways.
Property changes on: plus-branches/07-01-csums
___________________________________________________________________
Name: propagate:at:1
- 1924
+ 1954
Modified: plus-branches/07-01-csums/ChangeLog
===================================================================
--- plus-branches/07-01-csums/ChangeLog 2005-09-07 18:39:12 UTC (rev 1954)
+++ plus-branches/07-01-csums/ChangeLog 2005-09-12 08:30:25 UTC (rev 1955)
@@ -4,6 +4,14 @@
Cumulative changes since last tarball.
For even more detail, use "svn log" and "svn diff".
+0.7.13 (api:77/proto:74)
+-----
+ * Fixed a SMP race condition that caused the resync process to stall
+ after a few seconds to minutes.
+ * The sync speed display is replaced by the word "stalled" in case the
+ syncer makes no progress within 20 seconds.
+ * Some improvements to the documentation.
+
0.7.12 (api:77/proto:74)
-----
* The /proc/drbd code used a fixed single page buffer. This breaks
Modified: plus-branches/07-01-csums/debian/changelog
===================================================================
--- plus-branches/07-01-csums/debian/changelog 2005-09-07 18:39:12 UTC (rev 1954)
+++ plus-branches/07-01-csums/debian/changelog 2005-09-12 08:30:25 UTC (rev 1955)
@@ -1,3 +1,9 @@
+drbd (0.7.13-0) unstable; urgency=low
+
+ * New upstream release
+
+ -- Philipp Reisner <phil at linbit.com> Thu, 1 Sep 2005 10:00:00 +0200
+
drbd (0.7.12-0) unstable; urgency=low
* New upstream release
Modified: plus-branches/07-01-csums/documentation/Makefile
===================================================================
--- plus-branches/07-01-csums/documentation/Makefile 2005-09-07 18:39:12 UTC (rev 1954)
+++ plus-branches/07-01-csums/documentation/Makefile 2005-09-12 08:30:25 UTC (rev 1955)
@@ -28,7 +28,7 @@
MAKEFILES_LANG := $(foreach dir,$(LANGS),$(dir)/Makefile)
-MANPAGES := drbdsetup.8 drbd.conf.5 drbd.8 drbdadm.8
+MANPAGES := drbdsetup.8 drbd.conf.5 drbd.8 drbdadm.8 drbddisk.8
#
# Docbook Magic for SuSE, Worksforme...
Modified: plus-branches/07-01-csums/documentation/drbd.conf.sgml
===================================================================
--- plus-branches/07-01-csums/documentation/drbd.conf.sgml 2005-09-07 18:39:12 UTC (rev 1954)
+++ plus-branches/07-01-csums/documentation/drbd.conf.sgml 2005-09-12 08:30:25 UTC (rev 1955)
@@ -79,7 +79,7 @@
is considered
as part of the parameters value. A special case are Boolean
parameters which only consist of the identifier.
- Parameters are terminated by a semikolon (<quote>;</quote>).
+ Parameters are terminated by a semicolon (<quote>;</quote>).
</para>
<para>Some parameter values have default units which might be overruled
by K, M or G. These units are defined in the usual way (K = 2^10 = 1024,
@@ -219,7 +219,7 @@
<para>Use <replaceable>minor-count</replaceable>
if you want to define more resources later without reloading the DRBD kernel
module. Per default the module loads with exactly as many devices as
- configured in this file. Builtin default for module is 2, and 8 for
+ configured in this file. Built-in default for module is 2, and 8 for
monolithic kernel. For monolithic kernel
<replaceable>minor-count</replaceable> is ignored, and you have to pass a
kernel boot parameter <replaceable>drbd.minor_count=count</replaceable> to
@@ -243,7 +243,7 @@
<listitem>
<para>Use <replaceable>disable-ip-verification</replaceable>
if, for some obscure reasons, drbdadm can/might not use ip or ifconfig
- to do a santiy check for the IP address, you can disable it with this
+ to do a sanity check for the IP address, you can disable it with this
this option.
</para>
</listitem>
@@ -255,7 +255,7 @@
<para>On the TCP/IP link the specified <replaceable>protocol</replaceable>
is used. Valid protocol specifiers are A, B, and C.</para>
<para>Protocol A: write IO is reported as completed, if it has
- reached local disk and local tcp send buffer.</para>
+ reached local disk and local TCP send buffer.</para>
<para>Protocol B: write IO is reported as completed, if it has reached
local disk and remote buffer cache.</para>
<para>Protocol C: write IO is reported as completed, if it has
@@ -266,7 +266,7 @@
<varlistentry>
<term><option>incon-degr-cmd <replaceable>command</replaceable></option></term>
<listitem><para>
- In case a node starts up in degraded mode (inittimeout is set) and
+ In case a node starts up in degraded mode (degr-wfc-timeout is set) and
its local replica of the data is inconsistent it executes the
<replaceable>command</replaceable>. If the command exits without
error, drbddisk expects the DRBD device to be in primary state.
@@ -409,7 +409,7 @@
Maximal number of requests to be allocated by DRBD. Unit is PAGE_SIZE,
which is 4 KB on most systems.
The minimum is hardcoded to 32 (=128 KB).
- For hight performance installations it might help, if you
+ For high performance installations it might help, if you
increase that number. These buffers are used to hold
datablocks while they are written to disk.
</para></listitem>
@@ -527,7 +527,7 @@
</refsect1>
<refsect1>
<title>Version</title>
-<simpara>This document is correct for version 0.7.5 of the DRBD distribution.
+<simpara>This document is correct for version 0.7.13 of the DRBD distribution.
</simpara>
</refsect1>
<refsect1>
@@ -544,7 +544,7 @@
<refsect1>
<title>Copyright</title>
<simpara>
-Copyright (c) 2001 Philipp Reisner. This is free software;
+Copyright (c) 2001-2005 Philipp Reisner. This is free software;
see the source for copying conditions. There is NO warranty;
not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
</simpara>
Modified: plus-branches/07-01-csums/documentation/drbd.sgml
===================================================================
--- plus-branches/07-01-csums/documentation/drbd.sgml 2005-09-07 18:39:12 UTC (rev 1954)
+++ plus-branches/07-01-csums/documentation/drbd.sgml 2005-09-12 08:30:25 UTC (rev 1955)
@@ -20,6 +20,9 @@
<arg choice=req>start</arg>
<arg choice=req>stop</arg>
<arg choice=req>status</arg>
+ <arg choice=req>reload</arg>
+ <arg choice=req>restart</arg>
+ <arg choice=req>force-reload</arg>
</group>
</arg>
</cmdsynopsis>
@@ -49,6 +52,12 @@
</refsect1>
<refsect1>
+ <title>Version</title>
+ <simpara>This document is correct for version 0.7.13 of the DRBD distribution.
+ </simpara>
+</refsect1>
+
+<refsect1>
<title>Author</title>
<simpara>
Written by Philipp Reisner <email>philipp.reisner at linbit.com</email>.
@@ -65,9 +74,9 @@
<refsect1>
<title>Copyright</title>
<simpara>
- Copyright (c) 2001 Philipp Reisner. This is free software;
+ Copyright (c) 2001-2005 Philipp Reisner. This is free software;
see the source for copying conditions. There is NO warranty;
- not even for MERCHANTABILIT or FITNESS FOR A PARTICULAR PURPOSE.
+ not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
</simpara>
</refsect1>
@@ -76,10 +85,12 @@
<para>
<citerefentry><refentrytitle>drbd.conf</refentrytitle>
<manvolnum>5</manvolnum></citerefentry>,
- <citerefentry><refentrytitle>datadisk</refentrytitle>
+ <citerefentry><refentrytitle>drbddisk</refentrytitle>
<manvolnum>8</manvolnum></citerefentry>,
<citerefentry><refentrytitle>drbdsetup</refentrytitle>
<manvolnum>8</manvolnum></citerefentry>
+ <citerefentry><refentrytitle>drbdadm</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry>
</para>
</refsect1>
Modified: plus-branches/07-01-csums/documentation/drbdadm.sgml
===================================================================
--- plus-branches/07-01-csums/documentation/drbdadm.sgml 2005-09-07 18:39:12 UTC (rev 1954)
+++ plus-branches/07-01-csums/documentation/drbdadm.sgml 2005-09-12 08:30:25 UTC (rev 1955)
@@ -49,8 +49,8 @@
<replaceable>file</replaceable></term>
<listitem><para>
Specifies the configuration file drbdadm will use. If this parameter
- is not specified, drbdadm will look for /etc/drbd-07.conf and
- /etc/drbd.conf.
+ is not specified, drbdadm will look for <option>/etc/drbd-07.conf</option> and
+ <option>/etc/drbd.conf</option>.
</para></listitem>
</varlistentry>
<varlistentry>
@@ -58,7 +58,7 @@
<replaceable>file</replaceable></term>
<listitem><para>
Specifies the full path to the drbdsetup program. If this option is
- omitted, drbdadm will look for /sbin/drbdsetup and ./drbdsetup.
+ omitted, drbdadm will look for <option>/sbin/drbdsetup</option> and <option>./drbdsetup</option>.
</para></listitem>
</varlistentry>
</variablelist>
@@ -96,7 +96,7 @@
<varlistentry>
<term>syncer</term>
<listitem><para>
- Loads the resynchronisation parameters into the device.
+ Loads the resynchronization parameters into the device.
</para></listitem>
</varlistentry>
<varlistentry>
@@ -138,7 +138,7 @@
<varlistentry>
<term>invalidate_remote</term>
<listitem><para>
- This command is simmilar to the invalidate command, but the
+ This command is similar to the invalidate command, but the
backing storage of the peer is invalidated and hence rewritten
with the data of the local node.
</para></listitem>
@@ -146,7 +146,7 @@
<varlistentry>
<term>resize</term>
<listitem><para>
- DRBD will reexamine all sizing constraints, and resize the
+ DRBD will reexamine all sizing constraints, and re-size the
resource's device accordingly. E.g. in case you increased the
size of your backing storage devices (on both nodes of course),
then DRBD will adopt to the new size after you called
@@ -192,7 +192,7 @@
<refsect1>
<title>Version</title>
<simpara>
- This document is correct for version 0.7 of the DRBD distribution.
+ This document is correct for version 0.7.13 of the DRBD distribution.
</simpara>
</refsect1>
@@ -209,7 +209,7 @@
<refsect1>
<title>Copyright</title>
<simpara>
- Copyright (c) 2004 Philipp Reisner. This is free software;
+ Copyright (c) 2004-2005 Philipp Reisner. This is free software;
see the source for copying conditions. There is NO warranty;
not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
</simpara>
@@ -223,6 +223,8 @@
<manvolnum>8</manvolnum></citerefentry>,
<citerefentry><refentrytitle>drbddisk</refentrytitle>
<manvolnum>8</manvolnum></citerefentry>
+ <citerefentry><refentrytitle>drbdsetup</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry>
</para>
</refsect1>
</refentry>
Copied: plus-branches/07-01-csums/documentation/drbddisk.sgml (from rev 1944, branches/drbd-0.7/documentation/drbddisk.sgml)
Modified: plus-branches/07-01-csums/documentation/drbdsetup.sgml
===================================================================
--- plus-branches/07-01-csums/documentation/drbdsetup.sgml 2005-09-07 18:39:12 UTC (rev 1954)
+++ plus-branches/07-01-csums/documentation/drbdsetup.sgml 2005-09-12 08:30:25 UTC (rev 1955)
@@ -659,7 +659,7 @@
<refsect1>
<title>Version</title>
- <simpara>This document is intended to be correct for version 0.7.x of the DRBD distribution.
+ <simpara>This document is correct for version 0.7.13 of the DRBD distribution.
</simpara>
</refsect1>
@@ -676,7 +676,7 @@
<refsect1>
<title>Copyright</title>
<simpara>
- Copyright (c) 2001 Philipp Reisner. This is free software;
+ Copyright (c) 2001-2005 Philipp Reisner. This is free software;
see the source for copying conditions. There is NO warranty;
not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
</simpara>
@@ -688,8 +688,10 @@
<manvolnum>5</manvolnum></citerefentry>,
<citerefentry><refentrytitle>drbd</refentrytitle>
<manvolnum>8</manvolnum></citerefentry>,
- <citerefentry><refentrytitle>datadisk</refentrytitle>
+ <citerefentry><refentrytitle>drbddisk</refentrytitle>
<manvolnum>8</manvolnum></citerefentry>
+ <citerefentry><refentrytitle>drbdadm</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry>
</para>
</refsect1>
</refentry>
Modified: plus-branches/07-01-csums/drbd/Makefile
===================================================================
--- plus-branches/07-01-csums/drbd/Makefile 2005-09-07 18:39:12 UTC (rev 1954)
+++ plus-branches/07-01-csums/drbd/Makefile 2005-09-12 08:30:25 UTC (rev 1955)
@@ -162,11 +162,13 @@
# install -d $(PREFIX)/var/lib/drbd
install -d $(PREFIX)/lib/modules/$(KERNELRELEASE)/$(MODSUBDIR)
install -m 644 $(MODOBJ) $(PREFIX)/lib/modules/$(KERNELRELEASE)/$(MODSUBDIR)
- ifeq ($(shell uname -r),$(KERNELRELEASE))
+ ifeq ($(PREFIX),/)
+ ifeq ($(shell uname -r),$(KERNELRELEASE))
/sbin/depmod -a || /sbin/depmod -e $(MODOBJ) 2>&1 >/dev/null || true
- else
+ else
[ -e $(LINUX)/System.map ] && \
/sbin/depmod -F $(LINUX)/System.map -e ./$(MODOBJ) 2>&1 >/dev/null || true
+ endif
endif
else
install:
Modified: plus-branches/07-01-csums/drbd/drbd_actlog.c
===================================================================
--- plus-branches/07-01-csums/drbd/drbd_actlog.c 2005-09-07 18:39:12 UTC (rev 1954)
+++ plus-branches/07-01-csums/drbd/drbd_actlog.c 2005-09-12 08:30:25 UTC (rev 1955)
@@ -726,8 +726,10 @@
// we need the lock for drbd_try_clear_on_disk_bm
if(jiffies - mdev->rs_mark_time > HZ*10) {
/* should be roling marks, but we estimate only anyways. */
- mdev->rs_mark_time = jiffies;
- mdev->rs_mark_left = drbd_bm_total_weight(mdev);
+ if( mdev->rs_mark_left != drbd_bm_total_weight(mdev)) {
+ mdev->rs_mark_time =jiffies;
+ mdev->rs_mark_left =drbd_bm_total_weight(mdev);
+ }
}
drbd_try_clear_on_disk_bm(mdev,sector,count);
/* just wake_up unconditional now,
Modified: plus-branches/07-01-csums/drbd/drbd_fs.c
===================================================================
--- plus-branches/07-01-csums/drbd/drbd_fs.c 2005-09-07 18:39:12 UTC (rev 1954)
+++ plus-branches/07-01-csums/drbd/drbd_fs.c 2005-09-12 08:30:25 UTC (rev 1955)
@@ -893,13 +893,27 @@
if(copy_from_user(&p,arg,sizeof(p))) {
return -EFAULT;
}
-
- if( drbd_md_test_flag(mdev,MDF_ConnectedInd) ) {
+ /* If I am currently not Primary,
+ * but meta data primary indicator is set,
+ * I just now recover from a hard crash,
+ * and have been Primary before that crash.
+ *
+ * Now, if I had no connection before that crash
+ * (have been degraded Primary), chances are that
+ * I won't find my peer now either.
+ *
+ * In that case, and _only_ in that case,
+ * we use the degr-wfc-timeout instead of the default,
+ * so we can automatically recover from a crash of a
+ * degraded but active "cluster" after a certain timeout.
+ */
+ if ( mdev->state != Primary &&
+ drbd_md_test_flag(mdev,MDF_PrimaryInd) &&
+ !drbd_md_test_flag(mdev,MDF_ConnectedInd) ) {
+ time=p.degr_wfc_timeout;
+ if (time) WARN("using degr_wfc_timeout=%ld seconds\n", time);
+ } else {
time=p.wfc_timeout;
- //ERR("using wfc_timeout.\n");
- } else {
- time=p.degr_wfc_timeout;
- //ERR("using degr_wfc_timeout.\n");
}
time=time*HZ;
@@ -1146,10 +1160,26 @@
} else {
clear_bit(ON_PRI_INC_HUMAN,&mdev->flags);
clear_bit(ON_PRI_INC_TIMEOUTEX,&mdev->flags);
+ if (arg == 0) break;
- if (arg & Human )
+ // XXX reduce race: don't set it,
+ // if we have a connection.
+ // this does not avoid the race completely, though.
+ if (mdev->cstate > WFConnection) {
+ WARN("race avoidance: did not set "
+ "the state flags (%s), cstate=%s\n",
+ arg == (Human|TimeoutExpired)
+ ? "Human|TimeoutExpired"
+ : arg == Human
+ ? "Human"
+ : "TimeoutExpired",
+ cstate_to_name(mdev->cstate));
+ break;
+ }
+
+ if (arg & Human)
set_bit(ON_PRI_INC_HUMAN,&mdev->flags);
- if (arg & TimeoutExpired )
+ if (arg & TimeoutExpired)
set_bit(ON_PRI_INC_TIMEOUTEX,&mdev->flags);
}
break;
Modified: plus-branches/07-01-csums/drbd/drbd_proc.c
===================================================================
--- plus-branches/07-01-csums/drbd/drbd_proc.c 2005-09-07 18:39:12 UTC (rev 1954)
+++ plus-branches/07-01-csums/drbd/drbd_proc.c 2005-09-12 08:30:25 UTC (rev 1955)
@@ -146,6 +146,14 @@
* rt: remaining time
*/
dt = (jiffies - mdev->rs_mark_time) / HZ;
+
+ if (dt > 20) {
+ /* if we made no update to rs_mark_time for too long,
+ * we are stalled. show that. */
+ seq_printf(seq, "stalled\n");
+ return;
+ }
+
if (!dt) dt++;
db = mdev->rs_mark_left - rs_left;
rt = (dt * (rs_left / (db/100+1)))/100; /* seconds */
Modified: plus-branches/07-01-csums/drbd/drbd_receiver.c
===================================================================
--- plus-branches/07-01-csums/drbd/drbd_receiver.c 2005-09-07 18:39:12 UTC (rev 1954)
+++ plus-branches/07-01-csums/drbd/drbd_receiver.c 2005-09-12 08:30:25 UTC (rev 1955)
@@ -977,7 +977,7 @@
*/
}
ok = drbd_send_ack(mdev,WriteAck,e);
- __set_bit(SYNC_STARTED,&mdev->flags);
+ set_bit(SYNC_STARTED,&mdev->flags);
} else {
ok = drbd_send_ack(mdev,NegAck,e);
ok&= drbd_io_error(mdev);
@@ -2186,7 +2186,7 @@
if( is_syncer_blk(mdev,p->block_id)) {
drbd_set_in_sync(mdev,sector,blksize);
- __set_bit(SYNC_STARTED,&mdev->flags);
+ set_bit(SYNC_STARTED,&mdev->flags);
} else {
req=(drbd_request_t*)(long)p->block_id;
Modified: plus-branches/07-01-csums/drbd/linux/drbd_config.h
===================================================================
--- plus-branches/07-01-csums/drbd/linux/drbd_config.h 2005-09-07 18:39:12 UTC (rev 1954)
+++ plus-branches/07-01-csums/drbd/linux/drbd_config.h 2005-09-12 08:30:25 UTC (rev 1955)
@@ -22,7 +22,7 @@
extern const char * drbd_buildtag(void);
-#define REL_VERSION "0.7.12"
+#define REL_VERSION "0.7.13"
#define API_VERSION 77
#define PRO_VERSION 74
Modified: plus-branches/07-01-csums/drbd.spec.in
===================================================================
--- plus-branches/07-01-csums/drbd.spec.in 2005-09-07 18:39:12 UTC (rev 1954)
+++ plus-branches/07-01-csums/drbd.spec.in 2005-09-12 08:30:25 UTC (rev 1955)
@@ -190,6 +190,14 @@
/sbin/depmod -a -F /boot/System.map-%{kernelversion} %{kernelversion} >/dev/null 2>&1 || true
%changelog
+* Thu Sep 1 2005 10:00:00 +0200 Philipp Reisner <phil at linbit.com>
+- drbd (0.7.13-1)
+ * Fixed a SMP race condition that caused the resync process to stall
+ after a few seconds to minutes.
+ * The sync speed display is replaced by the word "stalled" in case the
+ syncer makes no progress within 20 seconds.
+ * Some improvements to the documentation.
+
* Wed Aug 24 2005 15:01:10 +0200 Philipp Reisner <phil at linbit.com>
- drbd (0.7.12-1)
* The /proc/drbd code used a fixed single page buffer. This breaks
More information about the drbd-cvs
mailing list