Hi, while digging through the BFS code, I found a minor TODO (kernel_interface.cpp at line 91), and was wondering if it was possible to fulfill it. It says it would be better to use the device block size for alignment. To do this we would first need to get the device block size. I found (on another part of the code) a way to do this, however I'm not sure if it would be inefficient or how to handle error cases. The idea is, from the inode, get the volume, then get the device, create a DeviceOpener and finally call the GetSize method. Is this a suitable approach? Or maybe just skip the DeviceOpener? Also, in the CheckBlocks method of the BlockAllocator, the local variable group contains the allocator group of the start offset, or the allocator group of the bitmap containing the start offset? If I understood the code correctly, it should check inside the bitmap to see the respective bits (starting from start and up to length). Also, if I'm not mistaken, the bitmap blocks are on the beginning of the disk, following the superblock. So it should first read the respective bitmap block containing the starting offset, and from there iterate. However, it seems to load the block from the start offset. This seems to work if the bitmap block contains the offset block (ie. if the start offset is 0), and after a grep through the files, it only calls with start = 0. However I'm not sure the logic is entirely correct because if the starting offset isn't zero, it would get the wrong blocks. Am I missing something, or is there a potential bug? Thanks in advance, Janito _________________________________________________________________ Hotmail: Free, trusted and rich email service. https://signup.live.com/signup.aspx?id=60969