feat: hook up the keyboard input into our vfs
[lunaix-os.git] / lunaix-os / kernel / mm / cake.c
index f6e4340388859cd5aaf38224b8c4ee615fc2a301..a64b3ea6acf40f02098c3536076325e3dcfe120d 100644 (file)
@@ -76,10 +76,10 @@ __init_pile(struct cake_pile* pile,
                                   (piece_size + sizeof(piece_index_t)),
                                 .pg_per_cake = pg_per_cake };
 
-    unsigned int overhead_size =
-      sizeof(struct cake_s) + pile->pieces_per_cake * sizeof(piece_index_t);
+    unsigned int free_list_size = pile->pieces_per_cake * sizeof(piece_index_t);
 
-    pile->offset = ROUNDUP(overhead_size, offset);
+    pile->offset = ROUNDUP(sizeof(struct cake_s) + free_list_size, offset);
+    pile->pieces_per_cake -= ICEIL((pile->offset - free_list_size), piece_size);
 
     strncpy(&pile->pile_name, name, PILE_NAME_MAXLEN);