forked from Minki/linux
cifs: add a function to get a cached dir based on its dentry
Needed for subsequent patches in the directory caching series. Signed-off-by: Ronnie Sahlberg <lsahlber@redhat.com> Signed-off-by: Steve French <stfrench@microsoft.com>
This commit is contained in:
parent
5e9c89d43f
commit
6ef4e9cbe1
@ -925,6 +925,22 @@ oshr_free:
|
||||
return rc;
|
||||
}
|
||||
|
||||
int open_cached_dir_by_dentry(struct cifs_tcon *tcon,
|
||||
struct dentry *dentry,
|
||||
struct cached_fid **cfid)
|
||||
{
|
||||
mutex_lock(&tcon->crfid.fid_mutex);
|
||||
if (tcon->crfid.dentry == dentry) {
|
||||
cifs_dbg(FYI, "found a cached root file handle by dentry\n");
|
||||
*cfid = &tcon->crfid;
|
||||
kref_get(&tcon->crfid.refcount);
|
||||
mutex_unlock(&tcon->crfid.fid_mutex);
|
||||
return 0;
|
||||
}
|
||||
mutex_unlock(&tcon->crfid.fid_mutex);
|
||||
return -ENOENT;
|
||||
}
|
||||
|
||||
static void
|
||||
smb3_qfs_tcon(const unsigned int xid, struct cifs_tcon *tcon,
|
||||
struct cifs_sb_info *cifs_sb)
|
||||
|
@ -73,6 +73,9 @@ extern int open_cached_dir(unsigned int xid, struct cifs_tcon *tcon,
|
||||
const char *path,
|
||||
struct cifs_sb_info *cifs_sb,
|
||||
struct cached_fid **cfid);
|
||||
extern int open_cached_dir_by_dentry(struct cifs_tcon *tcon,
|
||||
struct dentry *dentry,
|
||||
struct cached_fid **cfid);
|
||||
extern void close_cached_dir(struct cached_fid *cfid);
|
||||
extern void close_cached_dir_lease(struct cached_fid *cfid);
|
||||
extern void close_cached_dir_lease_locked(struct cached_fid *cfid);
|
||||
|
Loading…
Reference in New Issue
Block a user