]> git.proxmox.com Git - mirror_ubuntu-jammy-kernel.git/blame - fs/9p/fid.h
UBUNTU: Ubuntu-5.15.0-39.42
[mirror_ubuntu-jammy-kernel.git] / fs / 9p / fid.h
CommitLineData
1f327613 1/* SPDX-License-Identifier: GPL-2.0-only */
3ed8491c
EVH
2/*
3 * V9FS FID Management
4 *
5 * Copyright (C) 2005 by Eric Van Hensbergen <ericvh@gmail.com>
3ed8491c 6 */
e0459f57
AK
7#ifndef FS_9P_FID_H
8#define FS_9P_FID_H
3ed8491c
EVH
9#include <linux/list.h>
10
bd238fb4 11struct p9_fid *v9fs_fid_lookup(struct dentry *dentry);
77d5a6b7
AV
12static inline struct p9_fid *v9fs_parent_fid(struct dentry *dentry)
13{
14 return v9fs_fid_lookup(dentry->d_parent);
15}
2ea03e1d 16void v9fs_fid_add(struct dentry *dentry, struct p9_fid *fid);
3cf387d7 17struct p9_fid *v9fs_writeback_fid(struct dentry *dentry);
987a6485 18void v9fs_open_fid_add(struct inode *inode, struct p9_fid *fid);
797fc16d
AV
19static inline struct p9_fid *clone_fid(struct p9_fid *fid)
20{
21 return IS_ERR(fid) ? fid : p9_client_walk(fid, 0, NULL, 1);
22}
7d50a29f
AV
23static inline struct p9_fid *v9fs_fid_clone(struct dentry *dentry)
24{
6636b6dc
JW
25 struct p9_fid *fid, *nfid;
26
27 fid = v9fs_fid_lookup(dentry);
28 if (!fid || IS_ERR(fid))
29 return fid;
30
ff5e72eb 31 nfid = clone_fid(fid);
6636b6dc
JW
32 p9_client_clunk(fid);
33 return nfid;
7d50a29f 34}
e0459f57 35#endif