cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

fid.h (928B)


      1/* SPDX-License-Identifier: GPL-2.0-only */
      2/*
      3 * V9FS FID Management
      4 *
      5 *  Copyright (C) 2005 by Eric Van Hensbergen <ericvh@gmail.com>
      6 */
      7#ifndef FS_9P_FID_H
      8#define FS_9P_FID_H
      9#include <linux/list.h>
     10
     11struct p9_fid *v9fs_fid_lookup(struct dentry *dentry);
     12static inline struct p9_fid *v9fs_parent_fid(struct dentry *dentry)
     13{
     14	return v9fs_fid_lookup(dentry->d_parent);
     15}
     16void v9fs_fid_add(struct dentry *dentry, struct p9_fid *fid);
     17struct p9_fid *v9fs_writeback_fid(struct dentry *dentry);
     18void v9fs_open_fid_add(struct inode *inode, struct p9_fid *fid);
     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}
     23static inline struct p9_fid *v9fs_fid_clone(struct dentry *dentry)
     24{
     25	struct p9_fid *fid, *nfid;
     26
     27	fid = v9fs_fid_lookup(dentry);
     28	if (!fid || IS_ERR(fid))
     29		return fid;
     30
     31	nfid = clone_fid(fid);
     32	p9_client_clunk(fid);
     33	return nfid;
     34}
     35#endif