I need to develop a file system for Linux for my diploma work.
- Where can I find infomation about this theme?
- How can I test it and other?
Which way to go really depends on if you want to do kernel programming or not. If not Then your only reasonable choice is FUSE.
If you are more novice, and never worked in kernel, FUSE might be worth looking at. If you have solid programming experience, especially kernel, writing a real driver will yield better performance and stability. Of course, this assumes programmer time and experience are not in the equation. You could always write a kernel FS driver, of such horrific quality, that a comparable FUSE implementation could be better.
If you want to do real kernel programming, specifically on FS, you might want to consider Linux NTFS. The kernel really needs a full write/read high performance/stability NTFS driver. ... Two birds with one stone, major contribution and thesis in one.
As for any such project: I'd suggest you hang out with the people doing filesystem work, and help out on some of the existing pieces of code: it is normal for a new filesystem to take some 5 years of solid development work by experienced hackers to get to the point where normal people will dare touch it with a 10-foot pole.
Actually this can take a long time, even if you have experience in developing low level, in addition to knowledge of the kernel. I recommend you to be part of any established project and offer some improvements. Even this may also result in a demanding job and recognized by the educational institution and the developer community.