While reading the said file I noticed some discrepancies between the actual code and the info in the docs. Here's an update that attempts to match it to the code in the current 2.6.22-rc5. --- From: Borislav Petkov <bbpetkov@xxxxxxxx> Update the description of struct file_system_type and get_sb() in Documentation/filesystems/vfs.txt to match the current code. Signed-off-by: Borislav Petkov <bbpetkov@xxxxxxxx> -- Index: linux-2.6.22-rc5/Documentation/filesystems/vfs.txt =================================================================== --- linux-2.6.22-rc5/Documentation/filesystems/vfs.txt.orig 2007-06-24 13:42:40.000000000 +0200 +++ linux-2.6.22-rc5/Documentation/filesystems/vfs.txt 2007-06-24 14:14:48.000000000 +0200 @@ -3,7 +3,7 @@ Original author: Richard Gooch <rgooch@xxxxxxxxxxxxx> - Last updated on October 28, 2005 + Last updated on Juni 24, 2007. Copyright (C) 1999 Richard Gooch Copyright (C) 2005 Pekka Enberg @@ -107,7 +107,7 @@ struct file_system_type ----------------------- -This describes the filesystem. As of kernel 2.6.13, the following +This describes the filesystem. As of kernel 2.6.22, the following members are defined: struct file_system_type { @@ -119,6 +119,8 @@ struct module *owner; struct file_system_type * next; struct list_head fs_supers; + struct lock_class_key s_lock_key; + struct lock_class_key s_umount_key; }; name: the name of the filesystem type, such as "ext2", "iso9660", @@ -137,11 +139,12 @@ next: for internal VFS use: you should initialize this to NULL + s_lock_key, s_umount_key: lockdep-specific + The get_sb() method has the following arguments: - struct super_block *sb: the superblock structure. This is partially - initialized by the VFS and the rest must be initialized by the - get_sb() method + struct file_system_type *fs_type: decribes the filesystem, partly initialized + by the specific filesystem code int flags: mount flags @@ -150,12 +153,13 @@ void *data: arbitrary mount options, usually comes as an ASCII string - int silent: whether or not to be silent on error + struct vfsmount *mnt: a vfs-internal representation of a mount point The get_sb() method must determine if the block device specified -in the superblock contains a filesystem of the type the method -supports. On success the method returns the superblock pointer, on -failure it returns NULL. +in the dev_name and fs_type contains a filesystem of the type the method +supports. If it succeeds in opening the named block device, it initializes a +struct super_block descriptor for the filesystem contained by the block device. +On failure it returns an error. The most interesting member of the superblock structure that the get_sb() method fills in is the "s_op" field. This is a pointer to -- Regards/Gruß, Boris. - 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