|
@@ -43,6 +43,19 @@ raw_block_header_t *create_raw_block(size_t raw_block_size, rb_type type) {
|
|
|
size_t remaining_cells;
|
|
|
#endif
|
|
|
|
|
|
+ ptr = (raw_block_header_t *)request_memory(raw_block_size);
|
|
|
+
|
|
|
+ if(ptr == NULL) {
|
|
|
+ return NULL;
|
|
|
+ }
|
|
|
+
|
|
|
+ init_raw_block_lock(ptr);
|
|
|
+ lock_raw_block(ptr);
|
|
|
+
|
|
|
+#ifdef REQUEST_SIZE_INFO
|
|
|
+ ptr->requested_size = raw_block_size;
|
|
|
+#endif
|
|
|
+
|
|
|
|
|
|
|
|
|
#ifdef PAGESIZE_ALIGN
|
|
@@ -50,12 +63,6 @@ raw_block_header_t *create_raw_block(size_t raw_block_size, rb_type type) {
|
|
|
raw_block_size = pagesize * ((raw_block_size + pagesize - 1) / pagesize);
|
|
|
#endif
|
|
|
|
|
|
- ptr = (raw_block_header_t *)request_memory(raw_block_size);
|
|
|
-
|
|
|
- if(ptr == NULL) {
|
|
|
- return NULL;
|
|
|
- }
|
|
|
-
|
|
|
ptr->size = raw_block_size;
|
|
|
|
|
|
switch(type) {
|
|
@@ -119,10 +126,13 @@ raw_block_header_t *create_raw_block(size_t raw_block_size, rb_type type) {
|
|
|
#endif
|
|
|
|
|
|
case BIGBLOCK:
|
|
|
+#ifdef REQUEST_SIZE_INFO
|
|
|
+ ptr->requested_size -= sizeof(raw_block_header_t);
|
|
|
+#endif
|
|
|
break;
|
|
|
}
|
|
|
|
|
|
- init_raw_block_lock(ptr);
|
|
|
+ unlock_raw_block(ptr);
|
|
|
|
|
|
return ptr;
|
|
|
}
|