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@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@gmail.com> wrote:
Sankar P <sankar.curiosity@gmail.com> wrote:
On Thu, Aug 8, 2013 at 3:55 AM, Greg Freemyer <greg.freemyer@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@kernelnewbies.org http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
-- Regards, Rishi Agrawal