On Tue, Jan 6, 2009 at 7:14 AM, Avishay Traeger <avishay@xxxxxxxxx> wrote: > On Mon, Jan 5, 2009 at 10:59 PM, Matthew Wilcox <matthew@xxxxxx> wrote: >> >> On Mon, Jan 05, 2009 at 09:40:50PM +0100, Francis Moreau wrote: >> > I'd like to learn how file systems work on Linux and I don't know >> > which file system driver I should look at to get a good picture of >> > how a contemporary file system is designed. >> > >> > The choice has to be made according some criterias: the fs shouldn't >> > be too hard since I'm pretty new in this area. Also not too >> > old/obsolete since I'd like to learn from current technology. >> >> You're giving some contradictory criteria. ext2 is probably the best >> example to learn the basics, then you can move on to whichever >> filesystem catches your fancy. > > This is all a matter of opinion obviously, but I would personally start with > ramfs - it's only a couple hundred lines of code, and is very simple since > everything resides only in memory. This is useful for looking at the API > and code flow. Then you can go to a disk-based file system like ext2 which > is a bit more complex but closer to what you're probably looking for. > ramfs seems a good example for learning the page cache. But since it's not a disk based filesystem, it doesn't cover the block dev layer (bio, elevator...) and more important all data structures used on the disk. thanks -- Francis -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html