[DRBD-cvs] r1691 - in trunk: . drbd
svn at svn.drbd.org
svn at svn.drbd.org
Mon Dec 27 16:24:20 CET 2004
Author: phil
Date: 2004-12-27 16:24:17 +0100 (Mon, 27 Dec 2004)
New Revision: 1691
Modified:
trunk/
trunk/drbd/drbd_int.h
Log:
svnp run. Investigated 1675 to 1686
r1681 by phil on 2004-12-15 16:43:51 +0100 (Wed, 15 Dec 2004)
Changed paths:
M /branches/drbd-0.7/drbd/drbd_int.h
Well one day after the 0.7.7 release and again an important
bug fix :(
On 32Bit systems with CONFIG_LBD set, DRBD fails to calculate
the right sectornumber from the bitnumber. Only affects devices
bigger than 2 TB.
Symptom: If you do a resync and suddenly the progress of the
resync stops, (or it never moves at all), but you can
see that DRBD gereates IO.
After the expected resync time IO stops, but the
progress indicator is still at its position.
DRBD simply resynced the wrong blocks, and since no bit
in the bitmap were cleared, no progress of the resync.
Property changes on: trunk
___________________________________________________________________
Name: propagate:at
- 1675
+ 1686
Modified: trunk/drbd/drbd_int.h
===================================================================
--- trunk/drbd/drbd_int.h 2004-12-27 15:14:59 UTC (rev 1690)
+++ trunk/drbd/drbd_int.h 2004-12-27 15:24:17 UTC (rev 1691)
@@ -870,7 +870,7 @@
/* thus many _storage_ sectors are described by one bit */
#define BM_SECT_TO_BIT(x) ((x)>>(BM_BLOCK_SIZE_B-9))
-#define BM_BIT_TO_SECT(x) ((x)<<(BM_BLOCK_SIZE_B-9))
+#define BM_BIT_TO_SECT(x) ((sector_t)(x)<<(BM_BLOCK_SIZE_B-9))
#define BM_SECT_PER_BIT BM_BIT_TO_SECT(1)
/* bit to represented kilo byte conversion */
More information about the drbd-cvs
mailing list