[DRBD-cvs] svn commit by phil - r2759 - trunk/drbd - More robustness, in case someone sends us faked RSDataR

drbd-cvs at lists.linbit.com drbd-cvs at lists.linbit.com
Fri Feb 16 13:31:43 CET 2007


Author: phil
Date: 2007-02-16 13:31:41 +0100 (Fri, 16 Feb 2007)
New Revision: 2759

Modified:
   trunk/drbd/drbd_actlog.c
Log:
More robustness, in case someone sends us faked RSDataReply packets...


Modified: trunk/drbd/drbd_actlog.c
===================================================================
--- trunk/drbd/drbd_actlog.c	2007-02-16 11:26:03 UTC (rev 2758)
+++ trunk/drbd/drbd_actlog.c	2007-02-16 12:31:41 UTC (rev 2759)
@@ -1279,6 +1279,13 @@
 		return;
 	}
 
+	if(bm_ext->lce.refcnt == 0) {
+		spin_unlock_irqrestore(&mdev->al_lock,flags);
+		ERR("drbd_rs_complete_io(,%llu [=%u]) called, but refcnt is 0!?\n",
+		    (unsigned long long)sector, enr);
+		return;
+	}
+
 	if( lc_put(mdev->resync,(struct lc_element *)bm_ext) == 0 ) {
 		clear_bit(BME_LOCKED,&bm_ext->flags);
 		clear_bit(BME_NO_WRITES,&bm_ext->flags);



More information about the drbd-cvs mailing list