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