simplefs - a ridiculosly simple file system from the scratch

Sankar P sankar.curiosity at gmail.com
Thu Aug 8 11:06:39 EDT 2013


okay. Thanks. I will update this list once I write enough code for the
next release :)

On Thu, Aug 8, 2013 at 4:59 PM, Greg Freemyer <greg.freemyer at gmail.com> wrote:
>
>
> Sankar P <sankar.curiosity at gmail.com> wrote:
>>On Thu, Aug 8, 2013 at 3:55 AM, Greg Freemyer <greg.freemyer at gmail.com>
>>wrote:
> <snip>
>>>
>>> I just read your todo's.
>>>
>>> Multi-block files should come before extents and/or mmap support.  I
>>> guess you realize that ext2 and ext3 are NOT extent based
>>filesystems.
>>>  ext4 is the first extent based one.
>>>
>>> So its:
>>> ext2 - block based filesystem
>>> ext3 - block based with a journal
>>> ext4 - extent based with a journal
>>>
>>> In reality the current ext4 driver has a matrix of supported
>>features.
>>>  There are flag bits which tell you which features a specific
>>> filesystem instance supports.  You may want to atleast look at those
>>> feature flags to get an idea of the kinds of features ext4 supports.
>>>
>>> If you don't have lseek() support for read, you need to get it added.
>>> lseek() is pretty trivial for reads so there is not much reason not
>>to
>>> have it as the very next step.
>>>
>>> For write, it means you have to implement a read/modify/write cycle
>>in
>>> your filesystem.  I gather you don't have that.
>>>
>>> With just those todo's I go in this order:
>>>
>>> - lseek() support with read (trivial)
>>> - partial block write support (requires read/modify/write logic, so
>>not trivial)
>>> - lseek() support for write (trivial now you have partial block write
>>support)
>>> - multi-block support, requires a major refactor most likely.
>>>
>>
>>Thank you so much for the detailed response.
>>
>>I will go in this order as this seem to be logically progressive nicely
>>iiuc.
>>
>>When do you think I should bring in support for mmap and page-caching
>>that Rajat in the above plan ?
>>
>>Thanks.
>
> I've never done a FS from scratch so I'm not sure, but I would delay them as long as you can.
>
> I suspect you will need cache support to properly handle writes on a multi block file, so as you work on that feature you may decide "now is the time" for the cache.
>
> Mmap should be last.
>
> Greg
> --
> Sent from my Android phone with K-9 Mail. Please excuse my brevity.



-- 
Sankar P
http://psankar.blogspot.com



More information about the Kernelnewbies mailing list