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 <[email protected]>
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 <[email protected]>
--
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 <[email protected]>
- 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.
Hi Borislav,
On 6/24/2007, "Borislav Petkov" <[email protected]> wrote:
> @@ -3,7 +3,7 @@
>
> Original author: Richard Gooch <[email protected]>
>
> - Last updated on October 28, 2005
> + Last updated on Juni 24, 2007.
There's a typo here so do s/Juni/June/g please before sending to Andrew.
Other than that, looks good to me.
Acked-by: Pekka Enberg <[email protected]>
On Mon, Jun 25, 2007 at 12:34:36PM +0300, Pekka Enberg wrote:
>
> Hi Borislav,
>
> On 6/24/2007, "Borislav Petkov" <[email protected]> wrote:
> > @@ -3,7 +3,7 @@
> >
> > Original author: Richard Gooch <[email protected]>
> >
> > - Last updated on October 28, 2005
> > + Last updated on Juni 24, 2007.
>
> There's a typo here so do s/Juni/June/g please before sending to Andrew.
> Other than that, looks good to me.
>
> Acked-by: Pekka Enberg <[email protected]>
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 <[email protected]>
- Last updated on October 28, 2005
+ Last updated on June 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.