CassFS
CassFS copied to clipboard
Fix dblock allocation, handle larger files
It's not really necessary to track data-block allocations in the superblock when you can just make up data-block keys any time you feel like it (this is not quite true for inode allocations). If we used keys like prefix_f_xx_b_yy, where xx is the inode number and yy is the block number, the only thing we'd actually need to store in the inode would be a single bit per block indicating whether the key has already been written (requiring that it be read for a partial-block write). Thus, with 8KB inodes and blocks, we could support 512MB files without resorting to indirect blocks, extents, etc.