Dear Ryusuke, before i start reverse enginering your B-tree implentation in NiLFS :) I wonder how its implementation is taking care of random writes at random offsets in a file? Say a received bittorrent file? Will it enumerate the blocks written in a b-tree list and insert between elements in the list if there is space? And if not, insert a level of B-tree? Will it try to rebalance the tree or will in practice the number of levels of B-tree suffice? Is rebalancing the B-tree of an inode seen as part of the apparently not yet implemented defragmentation? With regards, Reinoud