cifs: wait for tcon resource_id before getting fscache super
The logic for initializing tcon->resource_id is done inside cifs_root_iget. fscache super cookie relies on this for aux data. So we need to push the fscache initialization to this later point during mount. Signed-off-by: Shyam Prasad N <sprasad@microsoft.com> Reviewed-by: Paulo Alcantara (SUSE) <pc@cjr.nz> Signed-off-by: Steve French <stfrench@microsoft.com>
This commit is contained in:
parent
65de262a20
commit
5bf91ef03d
@ -3046,12 +3046,6 @@ static int mount_get_conns(struct mount_ctx *mnt_ctx)
|
|||||||
cifs_dbg(VFS, "read only mount of RW share\n");
|
cifs_dbg(VFS, "read only mount of RW share\n");
|
||||||
/* no need to log a RW mount of a typical RW share */
|
/* no need to log a RW mount of a typical RW share */
|
||||||
}
|
}
|
||||||
/*
|
|
||||||
* The cookie is initialized from volume info returned above.
|
|
||||||
* Inside cifs_fscache_get_super_cookie it checks
|
|
||||||
* that we do not get super cookie twice.
|
|
||||||
*/
|
|
||||||
cifs_fscache_get_super_cookie(tcon);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -92,7 +92,7 @@ void cifs_fscache_get_super_cookie(struct cifs_tcon *tcon)
|
|||||||
* In the future, as we integrate with newer fscache features,
|
* In the future, as we integrate with newer fscache features,
|
||||||
* we may want to instead add a check if cookie has changed
|
* we may want to instead add a check if cookie has changed
|
||||||
*/
|
*/
|
||||||
if (tcon->fscache == NULL)
|
if (tcon->fscache)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
sharename = extract_sharename(tcon->treeName);
|
sharename = extract_sharename(tcon->treeName);
|
||||||
|
@ -1376,6 +1376,13 @@ iget_no_retry:
|
|||||||
inode = ERR_PTR(rc);
|
inode = ERR_PTR(rc);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* The cookie is initialized from volume info returned above.
|
||||||
|
* Inside cifs_fscache_get_super_cookie it checks
|
||||||
|
* that we do not get super cookie twice.
|
||||||
|
*/
|
||||||
|
cifs_fscache_get_super_cookie(tcon);
|
||||||
|
|
||||||
out:
|
out:
|
||||||
kfree(path);
|
kfree(path);
|
||||||
free_xid(xid);
|
free_xid(xid);
|
||||||
|
Loading…
Reference in New Issue
Block a user