http://web.archive.org/web/20100711055535/http://cs.anu.edu.au/students/comp3300/ass2.php That's an old assignment from my uni. It should get you across the basics of filesystem implementation if you work through it ;) On Tue, Nov 8, 2011 at 11:12 PM, Alexandru Juncu <alex.juncu@xxxxxxxxxx> wrote: > On Tue, Nov 8, 2011 at 1:56 PM, Dan Luedtke <maildanrl@xxxxxxxxxxxxxx> wrote: >> Hallo, >> >> On Tue, Nov 8, 2011 at 12:27 PM, Stephen Gream <poisonthemon@xxxxxxxxx> wrote: >>> Once you have the device registered (on /sys or /dev), register a read >>> callback on the file and use copy_to_user to output the data >> >> I read that article you referred to, but I don't think it addresses my >> problem, as I may have been more clear on what I want to achieve >> before. Sorry for that! >> I want to eventually implement a file system, and therefore I am >> studying the kernel sources to get an idea about all that. >> >> Here is my general understanding on how thinks may work :) >> >> virtual file system (VFS) <-[1]-> my file system implementation >> <-[2]-> a block device >> >> As I understood, all these subsystems are running in kernel mode. >> >> For [1] I read vfs.txt and learned about the VFS-API >> For [2] I have no idea where I can find the API documentation, however >> there were some hints on the book "Linux Driver Development" from >> O'Reilly in chapter "block devices". Nothing really helpful, as they >> were talking about registering new block devices. I want to use >> already present devices where I expect my filesystem to be present on. >> To check that, I have to read the first 512 bytes. >> >> The userspace implementation I was talking about previously is >> something like a mkfs.myfilesystem, that's why i referred to fopen() >> there. >> >> Thank you! >> >> Greetings, > > > While in the kernel you would be able to read the blocks from a device > without using a file path (you don't need to open a file and read from > it). You will need to interact with the IO System. > > I would redirect you to learn about struct gendisk and struct bio. > _______________________________________________ Kernelnewbies mailing list Kernelnewbies@xxxxxxxxxxxxxxxxx http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies