I haven't tested it yet, but this looks like a good step toward ext3/ext4 support. Genode is in need of a journaling filesystem, so this is good news. I know that this is just an ext2 implementation for now, but having a native driver looks like a step in the right direction. I looked over the patch briefly, and I saw that PERR was being used where PDBG or PINF seemed more appropriate.
On Sun, May 10, 2015 at 11:02 AM, Janani k <3moonu3@...9...> wrote:
Hi, I am trying to port an existing native file-system(ext2) to Genode. So, I started porting this in the same place as rump_ext2 so that this can be set up fast to get quick running of the code. I designed it so as to call our native implementation calls instead of rump calls. To get the block sessions working and basic ext2 functionalities checking, I did quick code work to get it up and running. Sorry didn't follow the Genode specifications in coding. I want get suggestions & feedback's on this design and then I will align code to Genode specifications and move further. I am attaching the patch file. And I will list out major things I did in this work to give an overview.
- It contains totally 3 parts. one which has all Genode related code
which used to deal with rump also and handle registry things, so I kept this one as is so as to utilize it again. Second part File-system interface which serves as an abstraction of all the extended file-system types(ext2,ext3,ext4). Third part ext2 this contains the implementation of ext2. 2. All the calls previously to rump will be replaced by this new ext2 implementation. 3. Till now I could get it up running. In this, I linked creating directory or file code, remove a directory, listing of directory entries works. This you can see in main.cc file comments where this gets called. 4. Since I used ram data space the changes I did to the ext2.raw are not persistent. So I removed 3 lines in rump_ext2.run which create ext2.raw file again and again when this demo is run and instead I made it persistent. And I created some directories before hand in this.
- For mounting it and checking contents use :: $ sudo mount -t ext2 -o
loop,rw ./build.lx/bin/ext2.raw /mnt/ext2/
6 For checking ext2 structure from outside use :: $ dumpe2fs build.lx/bin/ext2.raw
Entire development is done running Genode on linux. For compiling and running ext2 use :: make -C build.lx/ run/rump_ext2
Thanks & regards, Janan
One dashboard for servers and applications across Physical-Virtual-Cloud Widest out-of-the-box monitoring support with 50+ applications Performance metrics, stats and reports that give you Actionable Insights Deep dive visibility with transaction tracing using APM Insight. http://ad.doubleclick.net/ddm/clk/290420510;117567292;y _______________________________________________ genode-main mailing list genode-main@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/genode-main