]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
fixed use of PAGE_MASK in simplemessenger
authorSage Weil <sage@newdream.net>
Fri, 4 Jan 2008 23:32:19 +0000 (15:32 -0800)
committerSage Weil <sage@newdream.net>
Fri, 4 Jan 2008 23:32:19 +0000 (15:32 -0800)
src/msg/SimpleMessenger.cc

index f514860696a0fdb41027baa841fccb67493f4df9..01013ea13fd1d47f1ce009a22767a22ea02eede6 100644 (file)
@@ -1302,9 +1302,9 @@ Message *Rank::Pipe::read_message()
   bufferlist data;
   if (env.data_len) {
     int left = env.data_len;
-    if (env.data_off & PAGE_MASK) {
+    if (env.data_off & ~PAGE_MASK) {
       // head
-      int head = MIN(PAGE_SIZE - (env.data_off & PAGE_MASK),
+      int head = MIN(PAGE_SIZE - (env.data_off & ~PAGE_MASK),
                     (unsigned)left);
       bp = buffer::create(head);
       if (tcp_read( sd, bp.c_str(), head ) < 0) 
@@ -1315,7 +1315,7 @@ Message *Rank::Pipe::read_message()
     }
 
     // middle
-    int middle = left & ~PAGE_MASK;
+    int middle = left & PAGE_MASK;
     if (middle > 0) {
       bp = buffer::create_page_aligned(middle);
       if (tcp_read( sd, bp.c_str(), middle ) < 0)