Thanks for all the answers!
You need to look at other block-based file systems in the kernel sources in fs dir for examples and understand how they do it. I looked at fs/minix/* fs/fat/* and peeked into fs/ext2/, but got more confused so I decided to ask for a starting point.
Also i think if you are interested in reading the first sector then you can probably check the block/genhd.c file get the disk (i.e struct genhd) then the partition (struct hdpart) you will be able to get the first sector. Thanks, a well documented source file. However, shouldn't I get the right partition (I called it block device in previously sent mails, thought of e.g. /dev/sda2 as a device not a partition) from VFS when a user requestes mounting it?
That's an old assignment from my uni. Wow, exactly what I needed! Thanks for this starting point.
I would redirect you to learn about struct gendisk and struct bio. Noted, I will take a look after studying the vvfs-files from Stephens link.
Can you tell what are you trying to achieve? I'd like to implement a filesystem as kernel modul (like fat, ext2, ...). The filesystem is a very simple one, based on chained blocks (similar to linked lists in c). I "invented" it when I tried to write a bootloader that does not require a second stage to read an kernel image. (This is all more or less a "because we can"-project, no commercial background, just learning).
Once again, thank you guys! Greetings, Dan -- Dan Luedtke http://www.danrl.de