diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2010-07-26 13:33:36 +0400 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2010-10-29 04:17:11 -0400 |
commit | 4d143beb0429e8c9c5f1dc66c7ff8ee70dde45a4 (patch) | |
tree | 59e9ac220d7753696f3292bd8af2ad004b81c13e /fs/ecryptfs/main.c | |
parent | d0e46f88b2f73828faf00d559c7e5b3ce9e39a4b (diff) | |
download | op-kernel-dev-4d143beb0429e8c9c5f1dc66c7ff8ee70dde45a4.zip op-kernel-dev-4d143beb0429e8c9c5f1dc66c7ff8ee70dde45a4.tar.gz |
convert ecryptfs
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'fs/ecryptfs/main.c')
-rw-r--r-- | fs/ecryptfs/main.c | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/fs/ecryptfs/main.c b/fs/ecryptfs/main.c index cbd4e18..8585934 100644 --- a/fs/ecryptfs/main.c +++ b/fs/ecryptfs/main.c @@ -540,9 +540,8 @@ out: * ecryptfs_interpose to perform most of the linking * ecryptfs_interpose(): links the lower filesystem into ecryptfs (inode.c) */ -static int ecryptfs_get_sb(struct file_system_type *fs_type, int flags, - const char *dev_name, void *raw_data, - struct vfsmount *mnt) +static struct dentry *ecryptfs_mount(struct file_system_type *fs_type, int flags, + const char *dev_name, void *raw_data) { struct super_block *s; struct ecryptfs_sb_info *sbi; @@ -607,8 +606,7 @@ static int ecryptfs_get_sb(struct file_system_type *fs_type, int flags, err = "Reading sb failed"; goto out; } - simple_set_mnt(mnt, s); - return 0; + return dget(s->s_root); out: if (sbi) { @@ -616,7 +614,7 @@ out: kmem_cache_free(ecryptfs_sb_info_cache, sbi); } printk(KERN_ERR "%s; rc = [%d]\n", err, rc); - return rc; + return ERR_PTR(rc); } /** @@ -639,7 +637,7 @@ static void ecryptfs_kill_block_super(struct super_block *sb) static struct file_system_type ecryptfs_fs_type = { .owner = THIS_MODULE, .name = "ecryptfs", - .get_sb = ecryptfs_get_sb, + .mount = ecryptfs_mount, .kill_sb = ecryptfs_kill_block_super, .fs_flags = 0 }; |