Add missing headers

Rework vnodes to be based on the slab cache, just like on Solaris.


git-svn-id: https://outreach.scidac.gov/svn/spl/trunk@45 7e1ea52c-4ff2-0310-8f11-9dd32ca42a1c
This commit is contained in:
behlendo
2008-03-14 00:04:01 +00:00
parent ea19fbed05
commit af828292e5
15 changed files with 145 additions and 16 deletions
+4
View File
@@ -0,0 +1,4 @@
#ifndef _SPL_FS_FS_SUBR_H
#define _SPL_FS_FS_SUBR_H
#endif /* SPL_FS_FS_SUBR_H */
+4
View File
@@ -0,0 +1,4 @@
#ifndef _SPL_FILE_H
#define _SPL_FILE_H
#endif /* SPL_FILE_H */
+4
View File
@@ -0,0 +1,4 @@
#ifndef _SPL_MKDEV_H
#define _SPL_MKDEV_H
#endif /* SPL_MKDEV_H */
+4
View File
@@ -0,0 +1,4 @@
#ifndef _SPL_MNTENT_H
#define _SPL_MNTENT_H
#endif /* SPL_MNTENT_H */
+4
View File
@@ -0,0 +1,4 @@
#ifndef _SPL_MODE_H
#define _SPL_MODE_H
#endif /* SPL_MODE_H */
+11
View File
@@ -0,0 +1,11 @@
#ifndef _SPL_PATHNAME_H
#define _SPL_PATHNAME_H
typedef struct pathname {
char *pn_buf; /* underlying storage */
char *pn_path; /* remaining pathname */
size_t pn_pathlen; /* remaining length */
size_t pn_bufsize; /* total size of pn_buf */
} pathname_t;
#endif /* SPL_PATHNAME_H */
+4
View File
@@ -0,0 +1,4 @@
#ifndef _SPL_UNISTD_H
#define _SPL_UNISTD_H
#endif /* SPL_UNISTD_H */
+4
View File
@@ -0,0 +1,4 @@
#ifndef _SPL_OPREG_H
#define _SPL_OPREG_H
#endif /* SPL_OPREG_H */
+3
View File
@@ -2,6 +2,9 @@
#define _SPL_VMSYSTM_H
#include <linux/mm.h>
#include <sys/types.h>
extern vmem_t *zio_alloc_arena; /* arena for zio caches */
#define physmem num_physpages
#define ptob(pages) (pages * PAGE_SIZE)
+19 -5
View File
@@ -9,6 +9,8 @@
#include <linux/dcache.h>
#include <linux/namei.h>
#include <linux/fs.h>
#include <sys/kmem.h>
#include <sys/mutex.h>
#include <sys/types.h>
#include <sys/time.h>
#include <sys/uio.h>
@@ -72,11 +74,6 @@ typedef enum vtype {
VBAD = 11
} vtype_t;
typedef struct vnode {
struct file *v_fp;
vtype_t v_type;
} vnode_t;
typedef struct vattr {
enum vtype va_type; /* vnode type */
u_int va_mask; /* attribute bit-mask */
@@ -130,6 +127,20 @@ typedef struct vsecattr {
size_t vsa_aclentsz; /* ACE size in bytes of vsa_aclentp */
} vsecattr_t;
typedef struct vnode {
struct file *v_fp;
kmutex_t v_lock; /* protects vnode fields */
uint_t v_flag; /* vnode flags (see below) */
uint_t v_count; /* reference count */
void *v_data; /* private data for fs */
struct vfs *v_vfsp; /* ptr to containing VFS */
struct stdata *v_stream; /* associated stream */
enum vtype v_type; /* vnode type */
dev_t v_rdev; /* device (VCHR, VBLK) */
} vnode_t;
extern vnode_t *vn_alloc(int flag);
void vn_free(vnode_t *vp);
extern int vn_open(const char *path, uio_seg_t seg, int flags, int mode,
vnode_t **vpp, int x1, void *x2);
extern int vn_openat(const char *path, uio_seg_t seg, int flags, int mode,
@@ -143,6 +154,9 @@ extern int vn_rename(const char *path1, const char *path2, int x1);
extern int vn_getattr(vnode_t *vp, vattr_t *vap, int flags, void *x3, void *x4);
extern int vn_fsync(vnode_t *vp, int flags, void *x3, void *x4);
int vn_init(void);
void vn_fini(void);
static __inline__ int
vn_rele(vnode_t *vp)
{
+3 -3
View File
@@ -1,4 +1,4 @@
#ifndef _SPL_ANON_H
#define _SPL_ANON_H
#ifndef _SPL_VM_ANON_H
#define _SPL_VM_ANON_H
#endif /* SPL_ANON_H */
#endif /* SPL_VM_ANON_H */
+4
View File
@@ -0,0 +1,4 @@
#ifndef _SPL_VM_PVN_H
#define _SPL_VM_PVN_H
#endif /* SPL_VM_PVN_H */