patch-2.1.75 linux/include/linux/coda_cnode.h
Next file: linux/include/linux/coda_linux.h
Previous file: linux/include/linux/coda.h
Back to the patch index
Back to the overall index
- Lines: 65
- Date:
Sun Dec 21 14:45:14 1997
- Orig file:
v2.1.74/linux/include/linux/coda_cnode.h
- Orig date:
Wed Dec 10 11:12:46 1997
diff -u --recursive --new-file v2.1.74/linux/include/linux/coda_cnode.h linux/include/linux/coda_cnode.h
@@ -7,8 +7,6 @@
* to the Coda project. Contact Peter Braam <coda@cs.cmu.edu>.
*/
-/* revamped cnode.h file: platform dependent, kernel only! */
-
#ifndef _CNODE_H_
#define _CNODE_H_
@@ -19,29 +17,41 @@
/* defintion of cnode, which combines ViceFid with inode information */
struct cnode {
- struct inode *c_vnode; /* linux inode associated with cnode */
- ViceFid c_fid; /* Coda identifier */
- u_short c_flags; /* flags (see below) */
- int c_magic; /* to verify the data structure */
- u_short c_ocount; /* count of openers */
- u_short c_owrite; /* count of open for write */
- u_short c_mmcount; /* count of mmappers */
- struct inode *c_ovp; /* open vnode pointer */
- struct dentry c_odentry;
+ struct inode *c_vnode; /* inode associated with cnode */
+ ViceFid c_fid; /* Coda identifier */
+ u_short c_flags; /* flags (see below) */
+ int c_magic; /* to verify the data structure */
+ u_short c_ocount; /* count of openers */
+ u_short c_owrite; /* count of open for write */
+ u_short c_mmcount; /* count of mmappers */
+ struct inode *c_ovp; /* open vnode pointer */
+ struct list_head c_cnhead; /* head of cache entries */
};
/* flags */
#define C_VATTR 0x1 /* Validity of vattr in the cnode */
#define C_SYMLINK 0x2 /* Validity of symlink pointer in the cnode */
-#define C_DYING 0x4 /* Set for outstanding cnodes from venus (which died) */
+#define C_DYING 0x4 /* Set for outstanding cnodes from venus (which died) */
+#define C_ZAPFID 0x8
+#define C_ZAPDIR 0x10
+void coda_cnode_free(struct cnode *);
struct cnode *coda_cnode_alloc(void);
-void coda_cnode_free(struct cnode *cinode);
-int coda_cnode_make(struct inode **inode, ViceFid *fid, struct super_block *sb);
-struct inode *coda_fid2inode(ViceFid *fid, struct super_block *sb);
+int coda_cnode_make(struct inode **, struct ViceFid *, struct super_block *);
int coda_cnode_makectl(struct inode **inode, struct super_block *sb);
+struct inode *coda_fid_to_inode(ViceFid *fid, struct super_block *sb);
-
+/* inode to cnode */
+static inline struct cnode *ITOC(struct inode *inode)
+{
+ return ((struct cnode *)inode->u.generic_ip);
+}
+
+/* cnode to inode */
+static inline struct inode *CTOI(struct cnode *cnode)
+{
+ return (cnode->c_vnode);
+}
#endif
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov