linux/fs/9p/fid.h
<<
>>
Prefs
   1/*
   2 * V9FS FID Management
   3 *
   4 *  Copyright (C) 2005 by Eric Van Hensbergen <ericvh@gmail.com>
   5 *
   6 *  This program is free software; you can redistribute it and/or modify
   7 *  it under the terms of the GNU General Public License version 2
   8 *  as published by the Free Software Foundation.
   9 *
  10 *  This program is distributed in the hope that it will be useful,
  11 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
  12 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  13 *  GNU General Public License for more details.
  14 *
  15 *  You should have received a copy of the GNU General Public License
  16 *  along with this program; if not, write to:
  17 *  Free Software Foundation
  18 *  51 Franklin Street, Fifth Floor
  19 *  Boston, MA  02111-1301  USA
  20 *
  21 */
  22#ifndef FS_9P_FID_H
  23#define FS_9P_FID_H
  24#include <linux/list.h>
  25
  26struct p9_fid *v9fs_fid_lookup(struct dentry *dentry);
  27static inline struct p9_fid *v9fs_parent_fid(struct dentry *dentry)
  28{
  29        return v9fs_fid_lookup(dentry->d_parent);
  30}
  31void v9fs_fid_add(struct dentry *dentry, struct p9_fid *fid);
  32struct p9_fid *v9fs_writeback_fid(struct dentry *dentry);
  33static inline struct p9_fid *clone_fid(struct p9_fid *fid)
  34{
  35        return IS_ERR(fid) ? fid :  p9_client_walk(fid, 0, NULL, 1);
  36}
  37static inline struct p9_fid *v9fs_fid_clone(struct dentry *dentry)
  38{
  39        return clone_fid(v9fs_fid_lookup(dentry));
  40}
  41#endif
  42