[DRBD-cvs] svn commit by lars - r2397 - trunk/drbd - don't
dereference after free :-/
drbd-cvs at lists.linbit.com
drbd-cvs at lists.linbit.com
Mon Sep 11 12:23:04 CEST 2006
Author: lars
Date: 2006-09-11 12:23:03 +0200 (Mon, 11 Sep 2006)
New Revision: 2397
Modified:
trunk/drbd/drbd_req.h
Log:
don't dereference after free :-/
Modified: trunk/drbd/drbd_req.h
===================================================================
--- trunk/drbd/drbd_req.h 2006-09-11 09:54:54 UTC (rev 2396)
+++ trunk/drbd/drbd_req.h 2006-09-11 10:23:03 UTC (rev 2397)
@@ -562,17 +562,17 @@
* can probably be merged with some if (what == xy) */
case completed_ok:
- req->rq_state |= (RQ_LOCAL_COMPLETED|RQ_LOCAL_OK);
- req->rq_state &= ~RQ_LOCAL_PENDING;
+ if (bio_data_dir(req->private_bio) == WRITE)
+ mdev->writ_cnt += req->size>>9;
+ else
+ mdev->read_cnt += req->size>>9;
bio_put(req->private_bio);
req->private_bio = NULL;
dec_local(mdev);
- if (bio_data_dir(req->private_bio) == WRITE)
- mdev->writ_cnt += req->size>>9;
- else
- mdev->read_cnt += req->size>>9;
+ req->rq_state |= (RQ_LOCAL_COMPLETED|RQ_LOCAL_OK);
+ req->rq_state &= ~RQ_LOCAL_PENDING;
_req_may_be_done(req);
break;
More information about the drbd-cvs
mailing list