Hacking with the disk’s structures
It seems that adding a new field in the volume header doesn’t change the filesystem behavior, but I can’t add a new field in the blockmap_layer2 structure because it can’t be larger than 16 bytes:
Assertion failed: (sizeof(struct hammer_blockmap_layer2) == 16), function main, file /home/becholey/devel/dragonfly/sbin/newfs_hammer/newfs_hammer.c, line 70.1 comment so far
Leave a reply
Dillon thinks that there might be many constants (hard-coded or not) which expect the blockmap entry size to be 16. So if we need to change code anyway, we can as well implement our own 2-layer translation system. Possibly much of the existing code can be reused for this, especially if we keep the structure sizes.