From: Andrew Morton Update ecryptfs for dhowells API changes. Cc: Michael Halcrow Cc: David Howells Signed-off-by: Andrew Morton --- fs/ecryptfs/main.c | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff -puN fs/ecryptfs/main.c~ecryptfs-get_sb_dev-fix fs/ecryptfs/main.c --- a/fs/ecryptfs/main.c~ecryptfs-get_sb_dev-fix +++ a/fs/ecryptfs/main.c @@ -497,34 +497,34 @@ out: * ecryptfs_interpolate to perform most of the linking * ecryptfs_interpolate(): links the lower filesystem into ecryptfs */ -static struct super_block *ecryptfs_get_sb(struct file_system_type *fs_type, - int flags, const char *dev_name, - void *raw_data) +static int ecryptfs_get_sb(struct file_system_type *fs_type, int flags, + const char *dev_name, void *raw_data, + struct vfsmount *mnt) { int rc; - struct super_block *sb = NULL; + int ret; + struct super_block *sb; - sb = get_sb_nodev(fs_type, flags, raw_data, ecryptfs_fill_super); - if (IS_ERR(sb)) { - ecryptfs_printk(KERN_ERR, "Getting sb failed. " - "sb = [%p]\n", sb); + ret = get_sb_nodev(fs_type, flags, raw_data, ecryptfs_fill_super, mnt); + if (ret < 0) { + ecryptfs_printk(KERN_ERR, "Getting sb failed: %d\n", ret); goto out; } + sb = mnt->mnt_sb; rc = ecryptfs_parse_options(sb, raw_data); if (rc) { deactivate_super(sb); - sb = ERR_PTR(rc); + ret = rc; goto out; } rc = ecryptfs_read_super(sb, dev_name); if (rc) { deactivate_super(sb); - sb = ERR_PTR(rc); - ecryptfs_printk(KERN_ERR, "Reading sb failed. " - "sb = [%p]\n", sb); + ret = rc; + ecryptfs_printk(KERN_ERR, "Reading sb failed: %d\n", ret); } out: - return sb; + return ret; } /** _