diff options
Diffstat (limited to 'fs/9p/vfs_inode.c')
| -rw-r--r-- | fs/9p/vfs_inode.c | 13 | 
1 files changed, 7 insertions, 6 deletions
diff --git a/fs/9p/vfs_inode.c b/fs/9p/vfs_inode.c index 55367ecb9442..3d8297714772 100644 --- a/fs/9p/vfs_inode.c +++ b/fs/9p/vfs_inode.c @@ -234,7 +234,7 @@ struct inode *v9fs_alloc_inode(struct super_block *sb)  	v9inode->writeback_fid = NULL;  	v9inode->cache_validity = 0;  	mutex_init(&v9inode->v_mutex); -	return &v9inode->vfs_inode; +	return &v9inode->netfs.inode;  }  /** @@ -252,7 +252,8 @@ void v9fs_free_inode(struct inode *inode)   */  static void v9fs_set_netfs_context(struct inode *inode)  { -	netfs_i_context_init(inode, &v9fs_req_ops); +	struct v9fs_inode *v9inode = V9FS_I(inode); +	netfs_inode_init(&v9inode->netfs, &v9fs_req_ops);  }  int v9fs_init_inode(struct v9fs_session_info *v9ses, @@ -1250,15 +1251,15 @@ static const char *v9fs_vfs_get_link(struct dentry *dentry,  		return ERR_PTR(-ECHILD);  	v9ses = v9fs_dentry2v9ses(dentry); -	fid = v9fs_fid_lookup(dentry); +	if (!v9fs_proto_dotu(v9ses)) +		return ERR_PTR(-EBADF); +  	p9_debug(P9_DEBUG_VFS, "%pd\n", dentry); +	fid = v9fs_fid_lookup(dentry);  	if (IS_ERR(fid))  		return ERR_CAST(fid); -	if (!v9fs_proto_dotu(v9ses)) -		return ERR_PTR(-EBADF); -  	st = p9_client_stat(fid);  	p9_client_clunk(fid);  	if (IS_ERR(st))  | 
