Page 1 of 1

Vector Based Filesystem

Posted: Sun May 19, 2013 3:10 am
by Prochamber
Hey,
I've been looking though a lot of filesystem lately and noticed they all have one disadvantage, block lists.

I was wondering if it would be possible to create a list of the blocks used by a file with ranges and clever arithmetic.

Instead of listing all the sectors in a file, we have a byte that specifies an operation type and data after that.

There could be operation types for block ranges and short/medium/long offsets to the next block.
i.e. if a file occupies blocks 50-55, instead of listing 50-55 you could specify that it is a range.

Code: Select all

In a 32-bit file system
Instead of:
0x000000320000003300000034000000350000003600000037
You could do:
0x010000003200000037 - Range Type blocks 50-55 (0x32-0x37)

Instead of:
0x08000014080000D3
You could use:
0x02BF to represent the second entries (as an offset from the first).
There could be different types of offsets, i.e. a 8,16 and 24 bit offset. There should also be an absolute type that will be used at the start of the list and (reluctantly) if the next block of the file is out of range of the offsets.

The idea is, while the CPU has to do a little more work, there is a decent saving in the amount of clusters needed to access a file.

What do you think? Has someone already done this? Would there we fundamental problems.

Re: Vector Based Filesystem

Posted: Sun May 19, 2013 3:18 am
by Gigasoft
What about HFS and NTFS?

Re: Vector Based Filesystem

Posted: Sun May 19, 2013 3:37 am
by sortie
I think you are talking about extents, which is a basic feature in the ext4 filesystem and relatives.

Re: Vector Based Filesystem

Posted: Sun May 19, 2013 3:52 am
by Prochamber
Gigasoft wrote:What about HFS and NTFS?
sortie wrote:I think you are talking about extents, which is a basic feature in the ext4 filesystem and relatives.
I knew someone would have already done it.
EXT4 doesn't seem to go to the same extent (no pun intended) as I would have liked.
It's interesting how filesystem have tried optimise and compact block lists.

Re: Vector Based Filesystem

Posted: Sun May 19, 2013 5:04 am
by dozniak
Try btrfs.