Implement "inverse merge" optimisation

This commit is contained in:
Vitaliy Filippov
2021-09-26 12:59:04 +03:00
parent 6d307d5391
commit 4319091bd3
2 changed files with 334 additions and 78 deletions
+1
View File
@@ -10,6 +10,7 @@
#define POOL_ID_BITS 16
#define INODE_POOL(inode) (pool_id_t)((inode) >> (64 - POOL_ID_BITS))
#define INODE_NO_POOL(inode) (inode_t)(inode & ((1l << (64-POOL_ID_BITS)) - 1))
#define INODE_WITH_POOL(pool_id, inode) (((inode_t)(pool_id) << (64-POOL_ID_BITS)) | INODE_NO_POOL(inode))
// Pool ID is 16 bits long
typedef uint32_t pool_id_t;