=================================================================== RCS file: /cvs/prex-old/usr/server/fs/vfs/vfs.h,v retrieving revision 1.1.1.1 retrieving revision 1.1.1.1.2.1 diff -u -r1.1.1.1 -r1.1.1.1.2.1 --- prex-old/usr/server/fs/vfs/vfs.h 2008/06/03 10:38:51 1.1.1.1 +++ prex-old/usr/server/fs/vfs/vfs.h 2008/08/13 17:12:44 1.1.1.1.2.1 @@ -35,7 +35,6 @@ #include #include #include -#include #include @@ -45,27 +44,20 @@ #define PRIO_FS 128 /* priority of file system server */ #define FSMAXNAMES 16 /* max length of 'file system' name */ -#ifdef DEBUG -/* #define DEBUG_VFS 1 */ -/* #define DEBUG_VNODE 1 */ -/* #define DEBUG_BIO 1 */ -#endif +/* #define DEBUG_VFS 1 */ #ifdef DEBUG_VFS -#define dprintf(fmt, args...) syslog(LOG_DEBUG, "vfs: "fmt, ## args) +extern int vfs_debug; + +#define VFSDB_CORE 0x00000001 +#define VFSDB_SYSCALL 0x00000002 +#define VFSDB_VNODE 0x00000004 +#define VFSDB_BIO 0x00000008 + +#define DPRINTF(_m,X) if (vfs_debug & (_m)) dprintf X #else -#define dprintf(fmt...) do {} while (0) +#define DPRINTF(_m, X) #endif -#ifdef DEBUG_VNODE -#define vn_printf(fmt, args...) syslog(LOG_DEBUG, fmt, ## args) -#else -#define vn_printf(fmt...) do {} while (0) -#endif -#ifdef DEBUG_BIO -#define bio_printf(fmt, args...) syslog(LOG_DEBUG, fmt, ## args) -#else -#define bio_printf(fmt...) do {} while (0) -#endif #ifdef DEBUG #define ASSERT(e) assert(e) @@ -91,9 +83,9 @@ struct list link; /* hash link */ task_t task; /* task id */ char cwd[PATH_MAX]; /* current working directory */ - file_t cwd_fp; /* directory for cwd */ + file_t cwdfp; /* directory for cwd */ file_t file[OPEN_MAX]; /* array of file pointers */ - int nr_open; /* number of opening files */ + int nopens; /* number of opening files */ mutex_t lock; /* lock for this task */ cap_t cap; /* task capabilities */ }; @@ -106,6 +98,7 @@ extern void task_update(struct task *t, task_t task); extern void task_unlock(struct task *t); extern file_t task_getfp(struct task *t, int fd); +extern int task_newfd(struct task *t); extern int task_conv(struct task *t, char *path, char *full); extern void task_dump(void); extern void task_init(void); @@ -113,23 +106,11 @@ extern int namei(char *path, vnode_t *vpp); extern int lookup(char *path, vnode_t *vpp, char **name); -extern vnode_t vn_lookup(mount_t mp, char *path); -extern void vn_lock(vnode_t vp); -extern void vn_unlock(vnode_t vp); -extern vnode_t vget(mount_t mp, char *path); -extern void vput(vnode_t vp); -extern void vgone(vnode_t vp); -extern void vref(vnode_t vp); -extern void vrele(vnode_t vp); -extern int vcount(vnode_t vp); -extern void vflush(mount_t mp); extern void vnode_init(void); #ifdef DEBUG extern void vnode_dump(void); #endif -extern void bio_init(void); - extern int sys_mount(char *dev, char *dir, char *fsname, int flags, void *data); extern int sys_umount(char *path); extern int sys_sync(void); @@ -140,26 +121,27 @@ extern void mount_dump(void); #endif -extern int sys_open(char *path, int flags, mode_t mode, file_t * file); -extern int sys_close(file_t fl); -extern int sys_read(file_t fl, void *buf, size_t size, size_t *result); -extern int sys_write(file_t fl, void *buf, size_t size, size_t *result); -extern int sys_lseek(file_t fl, off_t off, int type, off_t * cur_off); -extern int sys_ioctl(file_t fl, int request, char *buf); -extern int sys_fstat(file_t fl, struct stat *st); -extern int sys_fsync(file_t fl); +extern int sys_open(char *path, int flags, mode_t mode, file_t *pfp); +extern int sys_close(file_t fp); +extern int sys_read(file_t fp, void *buf, size_t size, size_t *result); +extern int sys_write(file_t fp, void *buf, size_t size, size_t *result); +extern int sys_lseek(file_t fp, off_t off, int type, off_t * cur_off); +extern int sys_ioctl(file_t fp, u_long request, void *buf); +extern int sys_fstat(file_t fp, struct stat *st); +extern int sys_fsync(file_t fp); extern int sys_opendir(char *path, file_t * file); -extern int sys_closedir(file_t fl); -extern int sys_readdir(file_t fl, struct dirent *dirent); -extern int sys_rewinddir(file_t fl); -extern int sys_seekdir(file_t fl, long loc); -extern int sys_telldir(file_t fl, long *loc); +extern int sys_closedir(file_t fp); +extern int sys_readdir(file_t fp, struct dirent *dirent); +extern int sys_rewinddir(file_t fp); +extern int sys_seekdir(file_t fp, long loc); +extern int sys_telldir(file_t fp, long *loc); extern int sys_mkdir(char *path, mode_t mode); extern int sys_rmdir(char *path); extern int sys_mknod(char *path, mode_t mode); extern int sys_rename(char *src, char *dest); extern int sys_unlink(char *path); extern int sys_access(char *path, int mode); +extern int sys_stat(char *path, struct stat *st); #endif /* !_VFS_H */