simplefs - a ridiculosly simple file system from the scratch

Rishi Agrawal rishi.b.agrawal at gmail.com
Fri Mar 28 13:41:28 EDT 2014


Hi Sankar,

Have you written any code further. I read your file system's code and
learnt a lot from it.



On Thu, Aug 8, 2013 at 8:36 PM, Sankar P <sankar.curiosity at gmail.com> wrote:

> 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
>
> _______________________________________________
> Kernelnewbies mailing list
> Kernelnewbies at kernelnewbies.org
> http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
>



-- 
Regards,
Rishi Agrawal
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.kernelnewbies.org/pipermail/kernelnewbies/attachments/20140328/ada389f8/attachment.html 


More information about the Kernelnewbies mailing list