diff options
Diffstat (limited to 'Documentation/filesystems/vfs.txt')
-rw-r--r-- | Documentation/filesystems/vfs.txt | 22 |
1 files changed, 13 insertions, 9 deletions
diff --git a/Documentation/filesystems/vfs.txt b/Documentation/filesystems/vfs.txt index a47cc819f37b..f023609fa718 100644 --- a/Documentation/filesystems/vfs.txt +++ b/Documentation/filesystems/vfs.txt | |||
@@ -3,7 +3,7 @@ | |||
3 | 3 | ||
4 | Original author: Richard Gooch <rgooch@atnf.csiro.au> | 4 | Original author: Richard Gooch <rgooch@atnf.csiro.au> |
5 | 5 | ||
6 | Last updated on October 28, 2005 | 6 | Last updated on June 24, 2007. |
7 | 7 | ||
8 | Copyright (C) 1999 Richard Gooch | 8 | Copyright (C) 1999 Richard Gooch |
9 | Copyright (C) 2005 Pekka Enberg | 9 | Copyright (C) 2005 Pekka Enberg |
@@ -107,7 +107,7 @@ file /proc/filesystems. | |||
107 | struct file_system_type | 107 | struct file_system_type |
108 | ----------------------- | 108 | ----------------------- |
109 | 109 | ||
110 | This describes the filesystem. As of kernel 2.6.13, the following | 110 | This describes the filesystem. As of kernel 2.6.22, the following |
111 | members are defined: | 111 | members are defined: |
112 | 112 | ||
113 | struct file_system_type { | 113 | struct file_system_type { |
@@ -119,6 +119,8 @@ struct file_system_type { | |||
119 | struct module *owner; | 119 | struct module *owner; |
120 | struct file_system_type * next; | 120 | struct file_system_type * next; |
121 | struct list_head fs_supers; | 121 | struct list_head fs_supers; |
122 | struct lock_class_key s_lock_key; | ||
123 | struct lock_class_key s_umount_key; | ||
122 | }; | 124 | }; |
123 | 125 | ||
124 | name: the name of the filesystem type, such as "ext2", "iso9660", | 126 | name: the name of the filesystem type, such as "ext2", "iso9660", |
@@ -137,11 +139,12 @@ struct file_system_type { | |||
137 | 139 | ||
138 | next: for internal VFS use: you should initialize this to NULL | 140 | next: for internal VFS use: you should initialize this to NULL |
139 | 141 | ||
142 | s_lock_key, s_umount_key: lockdep-specific | ||
143 | |||
140 | The get_sb() method has the following arguments: | 144 | The get_sb() method has the following arguments: |
141 | 145 | ||
142 | struct super_block *sb: the superblock structure. This is partially | 146 | struct file_system_type *fs_type: decribes the filesystem, partly initialized |
143 | initialized by the VFS and the rest must be initialized by the | 147 | by the specific filesystem code |
144 | get_sb() method | ||
145 | 148 | ||
146 | int flags: mount flags | 149 | int flags: mount flags |
147 | 150 | ||
@@ -150,12 +153,13 @@ The get_sb() method has the following arguments: | |||
150 | void *data: arbitrary mount options, usually comes as an ASCII | 153 | void *data: arbitrary mount options, usually comes as an ASCII |
151 | string | 154 | string |
152 | 155 | ||
153 | int silent: whether or not to be silent on error | 156 | struct vfsmount *mnt: a vfs-internal representation of a mount point |
154 | 157 | ||
155 | The get_sb() method must determine if the block device specified | 158 | The get_sb() method must determine if the block device specified |
156 | in the superblock contains a filesystem of the type the method | 159 | in the dev_name and fs_type contains a filesystem of the type the method |
157 | supports. On success the method returns the superblock pointer, on | 160 | supports. If it succeeds in opening the named block device, it initializes a |
158 | failure it returns NULL. | 161 | struct super_block descriptor for the filesystem contained by the block device. |
162 | On failure it returns an error. | ||
159 | 163 | ||
160 | The most interesting member of the superblock structure that the | 164 | The most interesting member of the superblock structure that the |
161 | get_sb() method fills in is the "s_op" field. This is a pointer to | 165 | get_sb() method fills in is the "s_op" field. This is a pointer to |