libceph: activate message data assignment checks
authorAlex Elder <elder@inktank.com>
Tue, 5 Mar 2013 00:29:06 +0000 (18:29 -0600)
committerSage Weil <sage@inktank.com>
Thu, 2 May 2013 04:16:44 +0000 (21:16 -0700)
The mds client no longer tries to assign zero-length message data,
and the osd client no longer sets its data info more than once.
This allows us to activate assertions in the messenger to verify
these things never happen.

This resolves both of these:
    http://tracker.ceph.com/issues/4263
    http://tracker.ceph.com/issues/4284

Signed-off-by: Alex Elder <elder@inktank.com>
Reviewed-by: Greg Farnum <greg@inktank.com>
net/ceph/messenger.c

index f48e2af950055a96aa0b27a28f468719205ac8b0..e75a03d25c9f3d6f67a57ab926d324ca7abcf184 100644 (file)
@@ -2690,10 +2690,10 @@ EXPORT_SYMBOL(ceph_con_keepalive);
 void ceph_msg_data_set_pages(struct ceph_msg *msg, struct page **pages,
                size_t length, size_t alignment)
 {
-       /* BUG_ON(!pages); */
-       /* BUG_ON(!length); */
-       /* BUG_ON(msg->pages); */
-       /* BUG_ON(msg->length); */
+       BUG_ON(!pages);
+       BUG_ON(!length);
+       BUG_ON(msg->pages);
+       BUG_ON(msg->length);
 
        msg->pages = pages;
        msg->length = length;
@@ -2704,9 +2704,9 @@ EXPORT_SYMBOL(ceph_msg_data_set_pages);
 void ceph_msg_data_set_pagelist(struct ceph_msg *msg,
                                struct ceph_pagelist *pagelist)
 {
-       /* BUG_ON(!pagelist); */
-       /* BUG_ON(!pagelist->length); */
-       /* BUG_ON(msg->pagelist); */
+       BUG_ON(!pagelist);
+       BUG_ON(!pagelist->length);
+       BUG_ON(msg->pagelist);
 
        msg->pagelist = pagelist;
 }
@@ -2714,8 +2714,8 @@ EXPORT_SYMBOL(ceph_msg_data_set_pagelist);
 
 void ceph_msg_data_set_bio(struct ceph_msg *msg, struct bio *bio)
 {
-       /* BUG_ON(!bio); */
-       /* BUG_ON(msg->bio); */
+       BUG_ON(!bio);
+       BUG_ON(msg->bio);
 
        msg->bio = bio;
 }
@@ -2723,9 +2723,9 @@ EXPORT_SYMBOL(ceph_msg_data_set_bio);
 
 void ceph_msg_data_set_trail(struct ceph_msg *msg, struct ceph_pagelist *trail)
 {
-       /* BUG_ON(!trail); */
-       /* BUG_ON(!trail->length); */
-       /* BUG_ON(msg->trail); */
+       BUG_ON(!trail);
+       BUG_ON(!trail->length);
+       BUG_ON(msg->trail);
 
        msg->trail = trail;
 }