4 * Copyright (C) 1998 Carnegie Mellon University
8 #ifndef _LINUX_CODA_FS_I
9 #define _LINUX_CODA_FS_I
12 #include <linux/types.h>
13 #include <linux/list.h>
14 #include <linux/coda.h>
18 #define CODA_CNODE_MAGIC 0x47114711
22 struct coda_inode_info
{
23 struct ViceFid c_fid
; /* Coda identifier */
24 u_short c_flags
; /* flags (see below) */
25 u_short c_ocount
; /* count of openers */
26 u_short c_owrite
; /* count of open for write */
27 u_short c_mmcount
; /* count of mmappers */
28 struct inode
*c_ovp
; /* open inode pointer */
29 struct list_head c_cnhead
; /* head of cache entries */
30 struct list_head c_volrootlist
; /* list of volroot cnoddes */
31 struct inode
*c_vnode
; /* inode associated with cnode */
32 int c_magic
; /* to verify the data structure */
36 #define C_VATTR 0x1 /* Validity of vattr in inode */
39 #define C_DYING 0x4 /* from venus (which died) */
41 #define C_FLUSH 0x2 /* used after a flush */
43 int coda_cnode_make(struct inode
**, struct ViceFid
*, struct super_block
*);
44 int coda_cnode_makectl(struct inode
**inode
, struct super_block
*sb
);
45 struct inode
*coda_fid_to_inode(ViceFid
*fid
, struct super_block
*sb
);
46 void coda_replace_fid(struct inode
*, ViceFid
*, ViceFid
*);