On Sat, Mar 29, 2014 at 4:31 PM, Sankar P <[email protected]>wrote:
> 2014-03-28 23:11 GMT+05:30 Rishi Agrawal <[email protected]>: > > Hi Sankar, > > > > Have you written any code further. I read your file system's code and > learnt > > a lot from it. > > > > Good to know that you have learnt from it. I stopped at a logical > closure where the filesystem is at a usable state. > > I did not write any code further as I am spending my personal time on > changing diapers for my newborn :) > > Whatever little time I get, I tend to do it in trivial user space > applications. Extending the filesystem requires long hours of > learning, context maintenance, focus etc. So I deferred it for a later > stage. I will be happy to get some patches though :) > > > > > > > On Thu, Aug 8, 2013 at 8:36 PM, Sankar P <[email protected]> > 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 <[email protected]> > >> wrote: > >> > > >> > > >> > Sankar P <[email protected]> wrote: > >> >>On Thu, Aug 8, 2013 at 3:55 AM, Greg Freemyer < > [email protected]> > >> >>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 > >> [email protected] > >> http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies > > > > > > > > > > -- > > Regards, > > Rishi Agrawal > > > > -- > Sankar P > http://psankar.blogspot.com > I identified one memory leak while reading the code. Will send the patch. -- Regards, Rishi Agrawal
_______________________________________________ Kernelnewbies mailing list [email protected] http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
