diff options
Diffstat (limited to 'Documentation')
-rw-r--r-- | Documentation/filesystems/Locking | 7 | ||||
-rw-r--r-- | Documentation/filesystems/porting | 7 | ||||
-rw-r--r-- | Documentation/filesystems/vfs.txt | 4 |
3 files changed, 10 insertions, 8 deletions
diff --git a/Documentation/filesystems/Locking b/Documentation/filesystems/Locking index 1045da582b9b..3abf08f1b14a 100644 --- a/Documentation/filesystems/Locking +++ b/Documentation/filesystems/Locking | |||
@@ -142,15 +142,16 @@ see also dquot_operations section. | |||
142 | 142 | ||
143 | --------------------------- file_system_type --------------------------- | 143 | --------------------------- file_system_type --------------------------- |
144 | prototypes: | 144 | prototypes: |
145 | struct super_block *(*get_sb) (struct file_system_type *, int, | 145 | struct int (*get_sb) (struct file_system_type *, int, |
146 | const char *, void *); | 146 | const char *, void *, struct vfsmount *); |
147 | void (*kill_sb) (struct super_block *); | 147 | void (*kill_sb) (struct super_block *); |
148 | locking rules: | 148 | locking rules: |
149 | may block BKL | 149 | may block BKL |
150 | get_sb yes yes | 150 | get_sb yes yes |
151 | kill_sb yes yes | 151 | kill_sb yes yes |
152 | 152 | ||
153 | ->get_sb() returns error or a locked superblock (exclusive on ->s_umount). | 153 | ->get_sb() returns error or 0 with locked superblock attached to the vfsmount |
154 | (exclusive on ->s_umount). | ||
154 | ->kill_sb() takes a write-locked superblock, does all shutdown work on it, | 155 | ->kill_sb() takes a write-locked superblock, does all shutdown work on it, |
155 | unlocks and drops the reference. | 156 | unlocks and drops the reference. |
156 | 157 | ||
diff --git a/Documentation/filesystems/porting b/Documentation/filesystems/porting index 2f388460cbe7..5531694059ab 100644 --- a/Documentation/filesystems/porting +++ b/Documentation/filesystems/porting | |||
@@ -50,10 +50,11 @@ Turn your foo_read_super() into a function that would return 0 in case of | |||
50 | success and negative number in case of error (-EINVAL unless you have more | 50 | success and negative number in case of error (-EINVAL unless you have more |
51 | informative error value to report). Call it foo_fill_super(). Now declare | 51 | informative error value to report). Call it foo_fill_super(). Now declare |
52 | 52 | ||
53 | struct super_block foo_get_sb(struct file_system_type *fs_type, | 53 | int foo_get_sb(struct file_system_type *fs_type, |
54 | int flags, const char *dev_name, void *data) | 54 | int flags, const char *dev_name, void *data, struct vfsmount *mnt) |
55 | { | 55 | { |
56 | return get_sb_bdev(fs_type, flags, dev_name, data, ext2_fill_super); | 56 | return get_sb_bdev(fs_type, flags, dev_name, data, foo_fill_super, |
57 | mnt); | ||
57 | } | 58 | } |
58 | 59 | ||
59 | (or similar with s/bdev/nodev/ or s/bdev/single/, depending on the kind of | 60 | (or similar with s/bdev/nodev/ or s/bdev/single/, depending on the kind of |
diff --git a/Documentation/filesystems/vfs.txt b/Documentation/filesystems/vfs.txt index 3a2e5520c1e3..dd7d0dcedc87 100644 --- a/Documentation/filesystems/vfs.txt +++ b/Documentation/filesystems/vfs.txt | |||
@@ -113,8 +113,8 @@ members are defined: | |||
113 | struct file_system_type { | 113 | struct file_system_type { |
114 | const char *name; | 114 | const char *name; |
115 | int fs_flags; | 115 | int fs_flags; |
116 | struct super_block *(*get_sb) (struct file_system_type *, int, | 116 | struct int (*get_sb) (struct file_system_type *, int, |
117 | const char *, void *); | 117 | const char *, void *, struct vfsmount *); |
118 | void (*kill_sb) (struct super_block *); | 118 | void (*kill_sb) (struct super_block *); |
119 | struct module *owner; | 119 | struct module *owner; |
120 | struct file_system_type * next; | 120 | struct file_system_type * next; |