2005-09-10 00:04:24 +04:00
/*
* V9FS FID Management
*
* Copyright ( C ) 2005 by Eric Van Hensbergen < ericvh @ gmail . com >
*
* This program is free software ; you can redistribute it and / or modify
2006-03-25 14:07:28 +03:00
* it under the terms of the GNU General Public License version 2
* as published by the Free Software Foundation .
2005-09-10 00:04:24 +04:00
*
* This program is distributed in the hope that it will be useful ,
* but WITHOUT ANY WARRANTY ; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE . See the
* GNU General Public License for more details .
*
* You should have received a copy of the GNU General Public License
* along with this program ; if not , write to :
* Free Software Foundation
* 51 Franklin Street , Fifth Floor
* Boston , MA 02111 - 1301 USA
*
*/
2011-02-28 14:34:09 +03:00
# ifndef FS_9P_FID_H
# define FS_9P_FID_H
2005-09-10 00:04:24 +04:00
# include <linux/list.h>
2007-07-11 02:57:28 +04:00
struct p9_fid * v9fs_fid_lookup ( struct dentry * dentry ) ;
2016-05-29 22:29:26 +03:00
static inline struct p9_fid * v9fs_parent_fid ( struct dentry * dentry )
{
return v9fs_fid_lookup ( dentry - > d_parent ) ;
}
2013-02-28 10:18:14 +04:00
void v9fs_fid_add ( struct dentry * dentry , struct p9_fid * fid ) ;
2011-02-28 14:33:57 +03:00
struct p9_fid * v9fs_writeback_fid ( struct dentry * dentry ) ;
2016-08-03 18:02:48 +03:00
static inline struct p9_fid * clone_fid ( struct p9_fid * fid )
{
return IS_ERR ( fid ) ? fid : p9_client_walk ( fid , 0 , NULL , 1 ) ;
}
2016-08-03 18:12:12 +03:00
static inline struct p9_fid * v9fs_fid_clone ( struct dentry * dentry )
{
return clone_fid ( v9fs_fid_lookup ( dentry ) ) ;
}
2011-02-28 14:34:09 +03:00
# endif