[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