]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
osd: fix Transaction::get_data_offset bug when map layout used
authorDong Yuan <yuandong1222@gmail.com>
Wed, 10 Dec 2014 16:09:01 +0000 (16:09 +0000)
committerSage Weil <sage@redhat.com>
Tue, 6 Jan 2015 21:29:41 +0000 (13:29 -0800)
add following offset:
  sizeof(__u8) +      // encode struct_v
  sizeof(__u8) +      // encode compat_v
  sizeof(__u32);      // encode len

Change-Id: I5b6662eb42aeeae64baa8699da6ce65e0b1d58c3
Signed-off-by: Dong Yuan <yuandong1222@gmail.com>
src/os/ObjectStore.h

index dde987431cd0aa80712b03798665ae948509db40..70f8d0f2bf3fd705f3e8e4e067cff338b67ace07 100644 (file)
@@ -722,7 +722,10 @@ public:
            sizeof(uint32_t) +   //fadvise_flags
             sizeof(__u32);      // tbl length
         } else {
-          return data.largest_data_off_in_tbl;
+          return data.largest_data_off_in_tbl +
+            sizeof(__u8) +      // encode struct_v
+            sizeof(__u8) +      // encode compat_v
+            sizeof(__u32);      // encode len
         }
       }
       return 0;  // none