Merge branch 'master' of /home/trondmy/kernel/linux-2.6/
Conflicts: fs/nfs/inode.c fs/super.c Fix conflicts between patch 'NFS: Split fs/nfs/inode.c' and patch 'VFS: Permit filesystem to override root dentry on mount'
This commit is contained in:
@@ -99,12 +99,13 @@ v9fs_fill_super(struct super_block *sb, struct v9fs_session_info *v9ses,
|
||||
* @flags: mount flags
|
||||
* @dev_name: device name that was mounted
|
||||
* @data: mount options
|
||||
* @mnt: mountpoint record to be instantiated
|
||||
*
|
||||
*/
|
||||
|
||||
static struct super_block *v9fs_get_sb(struct file_system_type
|
||||
*fs_type, int flags,
|
||||
const char *dev_name, void *data)
|
||||
static int v9fs_get_sb(struct file_system_type *fs_type, int flags,
|
||||
const char *dev_name, void *data,
|
||||
struct vfsmount *mnt)
|
||||
{
|
||||
struct super_block *sb = NULL;
|
||||
struct v9fs_fcall *fcall = NULL;
|
||||
@@ -123,17 +124,19 @@ static struct super_block *v9fs_get_sb(struct file_system_type
|
||||
|
||||
v9ses = kzalloc(sizeof(struct v9fs_session_info), GFP_KERNEL);
|
||||
if (!v9ses)
|
||||
return ERR_PTR(-ENOMEM);
|
||||
return -ENOMEM;
|
||||
|
||||
if ((newfid = v9fs_session_init(v9ses, dev_name, data)) < 0) {
|
||||
dprintk(DEBUG_ERROR, "problem initiating session\n");
|
||||
sb = ERR_PTR(newfid);
|
||||
retval = newfid;
|
||||
goto out_free_session;
|
||||
}
|
||||
|
||||
sb = sget(fs_type, NULL, v9fs_set_super, v9ses);
|
||||
if (IS_ERR(sb))
|
||||
if (IS_ERR(sb)) {
|
||||
retval = PTR_ERR(sb);
|
||||
goto out_close_session;
|
||||
}
|
||||
v9fs_fill_super(sb, v9ses, flags);
|
||||
|
||||
inode = v9fs_get_inode(sb, S_IFDIR | mode);
|
||||
@@ -184,19 +187,19 @@ static struct super_block *v9fs_get_sb(struct file_system_type
|
||||
goto put_back_sb;
|
||||
}
|
||||
|
||||
return sb;
|
||||
return simple_set_mnt(mnt, sb);
|
||||
|
||||
out_close_session:
|
||||
v9fs_session_close(v9ses);
|
||||
out_free_session:
|
||||
kfree(v9ses);
|
||||
return sb;
|
||||
return retval;
|
||||
|
||||
put_back_sb:
|
||||
/* deactivate_super calls v9fs_kill_super which will frees the rest */
|
||||
up_write(&sb->s_umount);
|
||||
deactivate_super(sb);
|
||||
return ERR_PTR(retval);
|
||||
return retval;
|
||||
}
|
||||
|
||||
/**
|
||||
|
Reference in New Issue
Block a user