aboutsummaryrefslogtreecommitdiffstats
path: root/fs/9p/vfs_super.c
diff options
context:
space:
mode:
Diffstat (limited to 'fs/9p/vfs_super.c')
-rw-r--r--fs/9p/vfs_super.c23
1 files changed, 5 insertions, 18 deletions
diff --git a/fs/9p/vfs_super.c b/fs/9p/vfs_super.c
index 072dce094477..8961f1a8f668 100644
--- a/fs/9p/vfs_super.c
+++ b/fs/9p/vfs_super.c
@@ -81,7 +81,7 @@ static int v9fs_set_super(struct super_block *s, void *data)
81 81
82static void 82static void
83v9fs_fill_super(struct super_block *sb, struct v9fs_session_info *v9ses, 83v9fs_fill_super(struct super_block *sb, struct v9fs_session_info *v9ses,
84 int flags) 84 int flags, void *data)
85{ 85{
86 sb->s_maxbytes = MAX_LFS_FILESIZE; 86 sb->s_maxbytes = MAX_LFS_FILESIZE;
87 sb->s_blocksize_bits = fls(v9ses->maxdata - 1); 87 sb->s_blocksize_bits = fls(v9ses->maxdata - 1);
@@ -91,6 +91,8 @@ v9fs_fill_super(struct super_block *sb, struct v9fs_session_info *v9ses,
91 91
92 sb->s_flags = flags | MS_ACTIVE | MS_SYNCHRONOUS | MS_DIRSYNC | 92 sb->s_flags = flags | MS_ACTIVE | MS_SYNCHRONOUS | MS_DIRSYNC |
93 MS_NOATIME; 93 MS_NOATIME;
94
95 save_mount_options(sb, data);
94} 96}
95 97
96/** 98/**
@@ -139,7 +141,7 @@ static int v9fs_get_sb(struct file_system_type *fs_type, int flags,
139 retval = PTR_ERR(sb); 141 retval = PTR_ERR(sb);
140 goto free_stat; 142 goto free_stat;
141 } 143 }
142 v9fs_fill_super(sb, v9ses, flags); 144 v9fs_fill_super(sb, v9ses, flags, data);
143 145
144 inode = v9fs_get_inode(sb, S_IFDIR | mode); 146 inode = v9fs_get_inode(sb, S_IFDIR | mode);
145 if (IS_ERR(inode)) { 147 if (IS_ERR(inode)) {
@@ -208,21 +210,6 @@ static void v9fs_kill_super(struct super_block *s)
208 P9_DPRINTK(P9_DEBUG_VFS, "exiting kill_super\n"); 210 P9_DPRINTK(P9_DEBUG_VFS, "exiting kill_super\n");
209} 211}
210 212
211/**
212 * v9fs_show_options - Show mount options in /proc/mounts
213 * @m: seq_file to write to
214 * @mnt: mount descriptor
215 *
216 */
217
218static int v9fs_show_options(struct seq_file *m, struct vfsmount *mnt)
219{
220 struct v9fs_session_info *v9ses = mnt->mnt_sb->s_fs_info;
221 if (v9ses->options != NULL)
222 seq_printf(m, ",%s", v9ses->options);
223 return 0;
224}
225
226static void 213static void
227v9fs_umount_begin(struct super_block *sb) 214v9fs_umount_begin(struct super_block *sb)
228{ 215{
@@ -235,7 +222,7 @@ v9fs_umount_begin(struct super_block *sb)
235static const struct super_operations v9fs_super_ops = { 222static const struct super_operations v9fs_super_ops = {
236 .statfs = simple_statfs, 223 .statfs = simple_statfs,
237 .clear_inode = v9fs_clear_inode, 224 .clear_inode = v9fs_clear_inode,
238 .show_options = v9fs_show_options, 225 .show_options = generic_show_options,
239 .umount_begin = v9fs_umount_begin, 226 .umount_begin = v9fs_umount_begin,
240}; 227};
241 228