[DRBD-cvs] svn commit by phil - r3079 - branches/drbd-8.2/drbd - I
should fix it before releasing it...
drbd-cvs at lists.linbit.com
drbd-cvs at lists.linbit.com
Fri Sep 28 14:07:39 CEST 2007
Author: phil
Date: 2007-09-28 14:07:32 +0200 (Fri, 28 Sep 2007)
New Revision: 3079
Modified:
branches/drbd-8.2/drbd/drbd_nl.c
branches/drbd-8.2/drbd/drbd_receiver.c
Log:
I should fix it before releasing it...
Modified: branches/drbd-8.2/drbd/drbd_nl.c
===================================================================
--- branches/drbd-8.2/drbd/drbd_nl.c 2007-09-28 11:16:49 UTC (rev 3078)
+++ branches/drbd-8.2/drbd/drbd_nl.c 2007-09-28 12:07:32 UTC (rev 3079)
@@ -1041,6 +1041,9 @@
struct hlist_head *new_ee_hash = NULL;
struct drbd_conf *odev;
char hmac_name[HMAC_NAME_L];
+ void *int_dig_out = NULL;
+ void *int_dig_in = NULL;
+ void *int_dig_vv = NULL;
if (mdev->state.conn > StandAlone) {
retcode = HaveNetConfig;
@@ -1194,6 +1197,25 @@
new_conf->ping_int = new_conf->ping_int+1;
#endif
+ if (integrity_tfm) {
+ i = crypto_hash_digestsize(integrity_tfm);
+ int_dig_out = kmalloc(i, GFP_KERNEL);
+ if (!int_dig_out) {
+ retcode = KMallocFailed;
+ goto fail;
+ }
+ int_dig_in = kmalloc(i, GFP_KERNEL);
+ if (!int_dig_in) {
+ retcode = KMallocFailed;
+ goto fail;
+ }
+ int_dig_vv = kmalloc(i, GFP_KERNEL);
+ if (!int_dig_vv) {
+ retcode = KMallocFailed;
+ goto fail;
+ }
+ }
+
D_ASSERT(mdev->net_conf == NULL);
mdev->net_conf = new_conf;
@@ -1218,30 +1240,16 @@
if (mdev->integrity_tfm) {
crypto_free_hash(mdev->integrity_tfm);
- kfree(mdev->int_dig_out);
- kfree(mdev->int_dig_in);
- kfree(mdev->int_dig_vv);
- if (integrity_tfm) {
- i = crypto_hash_digestsize(integrity_tfm);
- mdev->int_dig_out = kmalloc(i, GFP_KERNEL);
- if (!mdev->int_dig_out) {
- retcode = KMallocFailed;
- goto fail;
- }
- mdev->int_dig_in = kmalloc(i, GFP_KERNEL);
- if (!mdev->int_dig_in) {
- retcode = KMallocFailed;
- goto fail;
- }
- mdev->int_dig_vv = kmalloc(i, GFP_KERNEL);
- if (!mdev->int_dig_vv) {
- retcode = KMallocFailed;
- goto fail;
- }
- }
}
mdev->integrity_tfm = integrity_tfm;
+ kfree(mdev->int_dig_out);
+ kfree(mdev->int_dig_in);
+ kfree(mdev->int_dig_vv);
+ mdev->int_dig_out=int_dig_out;
+ mdev->int_dig_in=int_dig_in;
+ mdev->int_dig_vv=int_dig_vv;
+
retcode = drbd_request_state(mdev, NS(conn, Unconnected));
reply->ret_code = retcode;
Modified: branches/drbd-8.2/drbd/drbd_receiver.c
===================================================================
--- branches/drbd-8.2/drbd/drbd_receiver.c 2007-09-28 11:16:49 UTC (rev 3078)
+++ branches/drbd-8.2/drbd/drbd_receiver.c 2007-09-28 12:07:32 UTC (rev 3079)
@@ -1134,13 +1134,6 @@
header_size = sizeof(*p) - sizeof(*h);
data_size = h->length - header_size;
- /* I expect a block to be a multiple of 512 byte,
- * and no more than DRBD_MAX_SEGMENT_SIZE.
- * is this too restrictive? */
- ERR_IF(data_size == 0) return FALSE;
- ERR_IF(data_size & 0x1ff) return FALSE;
- ERR_IF(data_size > DRBD_MAX_SEGMENT_SIZE) return FALSE;
-
if (drbd_recv(mdev, h->payload, header_size) != header_size)
return FALSE;
More information about the drbd-cvs
mailing list