[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: universal filesystem convertor

From: Serguei Tzukanov
Subject: Re: universal filesystem convertor
Date: Thu, 10 Jan 2002 21:22:40 +0300
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:0.9.3) Gecko/20010802

Nah, I mean make a non-standard version of file systems that don't
support sparse files, that do support them.
IMHO special loopback driver is a more generous solution.

Can you please define your terminology, and comment your struct's?
block has virtual and physical addresses: the former is the final destination of the block and the latter is where it actually lie.
A continuous in virtual space block run is presented by struct chunk.
chunks collected into struct indexblock (with the same size as of primary filesystem block size). indexblocks chained on the disk.
struct indexpage is in-memory presentation of indexblock.
A conversion at every logged step works with exactly one indexblock.
Step consists of four stages:
1) do all in-memory permutations, prepare and write journal; fsync()
(I just thought that this could be avoided :-)
2) fix on the disk changed indexblocks; write to the temporary place inner blocks (blocks in the current indexpage); fsync()
3) write outer blocks to their inner places; fsync();
4) write blocks from temporary storage to the their corresponding outer places. fsync().

Anyway I'll rewrite this part for cleanup.

Cool :)

I've put new version to the same site.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]