__u32 fl_object_stripe_unit; /* for per-object raid */
/* object -> pg layout */
- __u32 fl_pg_preferred; /* preferred primary for pg */
+ __s32 fl_pg_preferred; /* preferred primary for pg */
__u8 fl_pg_type; /* pg type; see PG_TYPE_* */
__u8 fl_pg_size; /* pg size (num replicas, raid stripe width, etc. */
};
return H(x.c_str());
}
};
+
+#ifndef __LP64__
+ template<> struct hash<int64_t> {
+ size_t operator()(int64_t __x) const {
+ static hash<int32_t> H;
+ return H((__x >> 32) ^ (__x & 0xffffffff));
+ }
+ };
+ template<> struct hash<uint64_t> {
+ size_t operator()(uint64_t __x) const {
+ static hash<uint32_t> H;
+ return H((__x >> 32) ^ (__x & 0xffffffff));
+ }
+ };
+#endif
+
}
public:
Message() {
- env.source_port = env.dest_port = -1;
+ env.source_port = env.dest_port = 0;
env.nchunks = 0;
};
Message(int t) {
- env.source_port = env.dest_port = -1;
+ env.source_port = env.dest_port = 0;
env.nchunks = 0;
env.type = t;
}