control.c (cbecf716ca618fd44feda6bd9a64a8179d031fc5) control.c (84c215075b5723ab946708a6c74c26bd3c51114c)
1/*
2 FUSE: Filesystem in Userspace
3 Copyright (C) 2001-2008 Miklos Szeredi <miklos@szeredi.hu>
4
5 This program can be distributed under the terms of the GNU GPL.
6 See the file COPYING.
7*/
8

--- 314 unchanged lines hidden (view full) ---

323 /* Get rid of submounts: */
324 d_invalidate(dentry);
325 }
326 dput(dentry);
327 }
328 drop_nlink(d_inode(fuse_control_sb->s_root));
329}
330
1/*
2 FUSE: Filesystem in Userspace
3 Copyright (C) 2001-2008 Miklos Szeredi <miklos@szeredi.hu>
4
5 This program can be distributed under the terms of the GNU GPL.
6 See the file COPYING.
7*/
8

--- 314 unchanged lines hidden (view full) ---

323 /* Get rid of submounts: */
324 d_invalidate(dentry);
325 }
326 dput(dentry);
327 }
328 drop_nlink(d_inode(fuse_control_sb->s_root));
329}
330
331static int fuse_ctl_fill_super(struct super_block *sb, struct fs_context *fctx)
331static int fuse_ctl_fill_super(struct super_block *sb, struct fs_context *fsc)
332{
333 static const struct tree_descr empty_descr = {""};
334 struct fuse_conn *fc;
335 int err;
336
337 err = simple_fill_super(sb, FUSE_CTL_SUPER_MAGIC, &empty_descr);
338 if (err)
339 return err;

--- 9 unchanged lines hidden (view full) ---

349 return err;
350 }
351 }
352 mutex_unlock(&fuse_mutex);
353
354 return 0;
355}
356
332{
333 static const struct tree_descr empty_descr = {""};
334 struct fuse_conn *fc;
335 int err;
336
337 err = simple_fill_super(sb, FUSE_CTL_SUPER_MAGIC, &empty_descr);
338 if (err)
339 return err;

--- 9 unchanged lines hidden (view full) ---

349 return err;
350 }
351 }
352 mutex_unlock(&fuse_mutex);
353
354 return 0;
355}
356
357static int fuse_ctl_get_tree(struct fs_context *fc)
357static int fuse_ctl_get_tree(struct fs_context *fsc)
358{
358{
359 return get_tree_single(fc, fuse_ctl_fill_super);
359 return get_tree_single(fsc, fuse_ctl_fill_super);
360}
361
362static const struct fs_context_operations fuse_ctl_context_ops = {
363 .get_tree = fuse_ctl_get_tree,
364};
365
360}
361
362static const struct fs_context_operations fuse_ctl_context_ops = {
363 .get_tree = fuse_ctl_get_tree,
364};
365
366static int fuse_ctl_init_fs_context(struct fs_context *fc)
366static int fuse_ctl_init_fs_context(struct fs_context *fsc)
367{
367{
368 fc->ops = &fuse_ctl_context_ops;
368 fsc->ops = &fuse_ctl_context_ops;
369 return 0;
370}
371
372static void fuse_ctl_kill_sb(struct super_block *sb)
373{
374 struct fuse_conn *fc;
375
376 mutex_lock(&fuse_mutex);

--- 25 unchanged lines hidden ---
369 return 0;
370}
371
372static void fuse_ctl_kill_sb(struct super_block *sb)
373{
374 struct fuse_conn *fc;
375
376 mutex_lock(&fuse_mutex);

--- 25 unchanged lines hidden ---