Adapted the VFS and internal file systems with respect to changes made

in fs_interface.h.
Fixed many warnings due to the int/int32/status_t changes.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1137 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Axel Dörfler
2002-09-23 23:24:12 +00:00
parent 88e54ccc26
commit e58fbc960b
6 changed files with 176 additions and 137 deletions
+36 -12
View File
@@ -2,6 +2,7 @@
** Copyright 2001-2002, Travis Geiselbrecht. All rights reserved. ** Copyright 2001-2002, Travis Geiselbrecht. All rights reserved.
** Distributed under the terms of the NewOS License. ** Distributed under the terms of the NewOS License.
*/ */
#include <stage2.h> #include <stage2.h>
#include <kernel.h> #include <kernel.h>
#include <console.h> #include <console.h>
@@ -30,14 +31,18 @@ static unsigned int cpu_apic_version[SMP_MAX_CPUS] = { 0, 0};
static unsigned int *ioapic = NULL; static unsigned int *ioapic = NULL;
static unsigned int apic_timer_tics_per_sec = 0; static unsigned int apic_timer_tics_per_sec = 0;
static int i386_timer_interrupt(void* data)
static int32
i386_timer_interrupt(void *data)
{ {
arch_smp_ack_interrupt(); arch_smp_ack_interrupt();
return apic_timer_interrupt(); return apic_timer_interrupt();
} }
static int i386_ici_interrupt(void* data)
static int32
i386_ici_interrupt(void *data)
{ {
// gin-u-wine inter-cpu interrupt // gin-u-wine inter-cpu interrupt
// dprintf("inter-cpu interrupt on cpu %d\n", arch_smp_get_current_cpu()); // dprintf("inter-cpu interrupt on cpu %d\n", arch_smp_get_current_cpu());
@@ -46,7 +51,9 @@ static int i386_ici_interrupt(void* data)
return smp_intercpu_int_handler(); return smp_intercpu_int_handler();
} }
static int i386_spurious_interrupt(void* data)
static int32
i386_spurious_interrupt(void *data)
{ {
// spurious interrupt // spurious interrupt
// dprintf("spurious interrupt on cpu %d\n", arch_smp_get_current_cpu()); // dprintf("spurious interrupt on cpu %d\n", arch_smp_get_current_cpu());
@@ -54,7 +61,9 @@ static int i386_spurious_interrupt(void* data)
return B_HANDLED_INTERRUPT; return B_HANDLED_INTERRUPT;
} }
static int i386_smp_error_interrupt(void* data)
static int32
i386_smp_error_interrupt(void *data)
{ {
// smp error interrupt // smp error interrupt
// dprintf("smp error interrupt on cpu %d\n", arch_smp_get_current_cpu()); // dprintf("smp error interrupt on cpu %d\n", arch_smp_get_current_cpu());
@@ -62,17 +71,23 @@ static int i386_smp_error_interrupt(void* data)
return B_HANDLED_INTERRUPT; return B_HANDLED_INTERRUPT;
} }
static unsigned int apic_read(unsigned int *addr)
static unsigned int
apic_read(unsigned int *addr)
{ {
return *addr; return *addr;
} }
static void apic_write(unsigned int *addr, unsigned int data)
static void
apic_write(unsigned int *addr, unsigned int data)
{ {
*addr = data; *addr = data;
} }
int arch_smp_init(kernel_args *ka)
int
arch_smp_init(kernel_args *ka)
{ {
dprintf("arch_smp_init: entry\n"); dprintf("arch_smp_init: entry\n");
@@ -102,7 +117,9 @@ int arch_smp_init(kernel_args *ka)
return 0; return 0;
} }
void arch_smp_send_broadcast_ici(void)
void
arch_smp_send_broadcast_ici(void)
{ {
int config; int config;
int state = disable_interrupts(); int state = disable_interrupts();
@@ -113,7 +130,9 @@ void arch_smp_send_broadcast_ici(void)
restore_interrupts(state); restore_interrupts(state);
} }
void arch_smp_send_ici(int target_cpu)
void
arch_smp_send_ici(int target_cpu)
{ {
int config; int config;
int state = disable_interrupts(); int state = disable_interrupts();
@@ -127,14 +146,17 @@ void arch_smp_send_ici(int target_cpu)
restore_interrupts(state); restore_interrupts(state);
} }
void arch_smp_ack_interrupt(void)
void
arch_smp_ack_interrupt(void)
{ {
apic_write(APIC_EOI, 0); apic_write(APIC_EOI, 0);
} }
#define MIN_TIMEOUT 1000 #define MIN_TIMEOUT 1000
int arch_smp_set_apic_timer(bigtime_t relative_timeout) int
arch_smp_set_apic_timer(bigtime_t relative_timeout)
{ {
unsigned int config; unsigned int config;
int state; int state;
@@ -166,7 +188,9 @@ int arch_smp_set_apic_timer(bigtime_t relative_timeout)
return 0; return 0;
} }
int arch_smp_clear_apic_timer(void)
int
arch_smp_clear_apic_timer(void)
{ {
unsigned int config; unsigned int config;
int state; int state;
+33 -30
View File
@@ -387,7 +387,7 @@ bootfs_create_vnode_tree(struct bootfs *fs, struct bootfs_vnode *root)
static status_t static status_t
bootfs_mount(fs_id id, const char *device, void *args, fs_cookie *_fs, vnode_id *root_vnid) bootfs_mount(fs_id id, const char *device, void *args, fs_volume *_fs, vnode_id *root_vnid)
{ {
struct bootfs *fs; struct bootfs *fs;
struct bootfs_vnode *v; struct bootfs_vnode *v;
@@ -457,7 +457,7 @@ err:
static status_t static status_t
bootfs_unmount(fs_cookie _fs) bootfs_unmount(fs_volume _fs)
{ {
struct bootfs *fs = _fs; struct bootfs *fs = _fs;
struct bootfs_vnode *v; struct bootfs_vnode *v;
@@ -481,7 +481,7 @@ bootfs_unmount(fs_cookie _fs)
static status_t static status_t
bootfs_sync(fs_cookie fs) bootfs_sync(fs_volume fs)
{ {
TRACE(("bootfs_sync: entry\n")); TRACE(("bootfs_sync: entry\n"));
@@ -490,7 +490,7 @@ bootfs_sync(fs_cookie fs)
static status_t static status_t
bootfs_lookup(fs_cookie _fs, fs_vnode _dir, const char *name, vnode_id *_id, int *_type) bootfs_lookup(fs_volume _fs, fs_vnode _dir, const char *name, vnode_id *_id, int *_type)
{ {
struct bootfs *fs = (struct bootfs *)_fs; struct bootfs *fs = (struct bootfs *)_fs;
struct bootfs_vnode *dir = (struct bootfs_vnode *)_dir; struct bootfs_vnode *dir = (struct bootfs_vnode *)_dir;
@@ -526,7 +526,7 @@ err:
static status_t static status_t
bootfs_get_vnode_name(fs_cookie _fs, fs_vnode _vnode, char *buffer, size_t bufferSize) bootfs_get_vnode_name(fs_volume _fs, fs_vnode _vnode, char *buffer, size_t bufferSize)
{ {
struct bootfs_vnode *vnode = (struct bootfs_vnode *)_vnode; struct bootfs_vnode *vnode = (struct bootfs_vnode *)_vnode;
@@ -538,7 +538,7 @@ bootfs_get_vnode_name(fs_cookie _fs, fs_vnode _vnode, char *buffer, size_t buffe
static status_t static status_t
bootfs_get_vnode(fs_cookie _fs, vnode_id id, fs_vnode *v, bool r) bootfs_get_vnode(fs_volume _fs, vnode_id id, fs_vnode *v, bool r)
{ {
struct bootfs *fs = (struct bootfs *)_fs; struct bootfs *fs = (struct bootfs *)_fs;
@@ -562,7 +562,7 @@ bootfs_get_vnode(fs_cookie _fs, vnode_id id, fs_vnode *v, bool r)
static status_t static status_t
bootfs_put_vnode(fs_cookie _fs, fs_vnode _v, bool r) bootfs_put_vnode(fs_volume _fs, fs_vnode _v, bool r)
{ {
struct bootfs_vnode *v = (struct bootfs_vnode *)_v; struct bootfs_vnode *v = (struct bootfs_vnode *)_v;
@@ -573,7 +573,7 @@ bootfs_put_vnode(fs_cookie _fs, fs_vnode _v, bool r)
static status_t static status_t
bootfs_remove_vnode(fs_cookie _fs, fs_vnode _v, bool reenter) bootfs_remove_vnode(fs_volume _fs, fs_vnode _v, bool reenter)
{ {
struct bootfs *fs = (struct bootfs *)_fs; struct bootfs *fs = (struct bootfs *)_fs;
struct bootfs_vnode *v = (struct bootfs_vnode *)_v; struct bootfs_vnode *v = (struct bootfs_vnode *)_v;
@@ -603,14 +603,14 @@ err:
static status_t static status_t
bootfs_create(fs_cookie _fs, fs_vnode _dir, const char *name, int omode, int perms, file_cookie *_cookie, vnode_id *new_vnid) bootfs_create(fs_volume _fs, fs_vnode _dir, const char *name, int omode, int perms, fs_cookie *_cookie, vnode_id *new_vnid)
{ {
return EROFS; return EROFS;
} }
static status_t static status_t
bootfs_open(fs_cookie _fs, fs_vnode _v, int oflags, file_cookie *_cookie) bootfs_open(fs_volume _fs, fs_vnode _v, int oflags, fs_cookie *_cookie)
{ {
struct bootfs *fs = _fs; struct bootfs *fs = _fs;
struct bootfs_vnode *vnode = _v; struct bootfs_vnode *vnode = _v;
@@ -635,7 +635,7 @@ bootfs_open(fs_cookie _fs, fs_vnode _v, int oflags, file_cookie *_cookie)
static status_t static status_t
bootfs_close(fs_cookie _fs, fs_vnode _v, file_cookie _cookie) bootfs_close(fs_volume _fs, fs_vnode _v, fs_cookie _cookie)
{ {
struct bootfs *fs = _fs; struct bootfs *fs = _fs;
struct bootfs_vnode *v = _v; struct bootfs_vnode *v = _v;
@@ -648,7 +648,7 @@ bootfs_close(fs_cookie _fs, fs_vnode _v, file_cookie _cookie)
static status_t static status_t
bootfs_free_cookie(fs_cookie _fs, fs_vnode _v, file_cookie _cookie) bootfs_free_cookie(fs_volume _fs, fs_vnode _v, fs_cookie _cookie)
{ {
struct bootfs *fs = _fs; struct bootfs *fs = _fs;
struct bootfs_vnode *v = _v; struct bootfs_vnode *v = _v;
@@ -664,14 +664,14 @@ bootfs_free_cookie(fs_cookie _fs, fs_vnode _v, file_cookie _cookie)
static status_t static status_t
bootfs_fsync(fs_cookie _fs, fs_vnode _v) bootfs_fsync(fs_volume _fs, fs_vnode _v)
{ {
return 0; return 0;
} }
static ssize_t static ssize_t
bootfs_read(fs_cookie _fs, fs_vnode _v, file_cookie _cookie, off_t pos, void *buf, size_t *len) bootfs_read(fs_volume _fs, fs_vnode _v, fs_cookie _cookie, off_t pos, void *buf, size_t *len)
{ {
struct bootfs *fs = _fs; struct bootfs *fs = _fs;
struct bootfs_vnode *v = _v; struct bootfs_vnode *v = _v;
@@ -720,7 +720,7 @@ err:
static ssize_t static ssize_t
bootfs_write(fs_cookie fs, fs_vnode v, file_cookie cookie, off_t pos, const void *buf, size_t *len) bootfs_write(fs_volume fs, fs_vnode v, fs_cookie cookie, off_t pos, const void *buf, size_t *len)
{ {
TRACE(("bootfs_write: vnode %p, cookie %p, pos 0x%Lx , len 0x%lx\n", v, cookie, pos, *len)); TRACE(("bootfs_write: vnode %p, cookie %p, pos 0x%Lx , len 0x%lx\n", v, cookie, pos, *len));
@@ -729,7 +729,7 @@ bootfs_write(fs_cookie fs, fs_vnode v, file_cookie cookie, off_t pos, const void
static off_t static off_t
bootfs_seek(fs_cookie _fs, fs_vnode _v, file_cookie _cookie, off_t pos, int seekType) bootfs_seek(fs_volume _fs, fs_vnode _v, fs_cookie _cookie, off_t pos, int seekType)
{ {
struct bootfs *fs = _fs; struct bootfs *fs = _fs;
struct bootfs_vnode *v = _v; struct bootfs_vnode *v = _v;
@@ -783,14 +783,14 @@ bootfs_seek(fs_cookie _fs, fs_vnode _v, file_cookie _cookie, off_t pos, int seek
static status_t static status_t
bootfs_create_dir(fs_cookie _fs, fs_vnode _dir, const char *name, int perms, vnode_id *new_vnid) bootfs_create_dir(fs_volume _fs, fs_vnode _dir, const char *name, int perms, vnode_id *new_vnid)
{ {
return EROFS; return EROFS;
} }
static status_t static status_t
bootfs_open_dir(fs_cookie _fs, fs_vnode _v, file_cookie *_cookie) bootfs_open_dir(fs_volume _fs, fs_vnode _v, fs_cookie *_cookie)
{ {
struct bootfs *fs = _fs; struct bootfs *fs = _fs;
struct bootfs_vnode *vnode = _v; struct bootfs_vnode *vnode = _v;
@@ -819,13 +819,13 @@ bootfs_open_dir(fs_cookie _fs, fs_vnode _v, file_cookie *_cookie)
static status_t static status_t
bootfs_read_dir(fs_cookie _fs, fs_vnode _vnode, file_cookie _cookie, struct dirent *dirent, size_t bufferSize, uint32 *_num) bootfs_read_dir(fs_volume _fs, fs_vnode _vnode, fs_cookie _cookie, struct dirent *dirent, size_t bufferSize, uint32 *_num)
{ {
struct bootfs_cookie *cookie = _cookie; struct bootfs_cookie *cookie = _cookie;
struct bootfs *fs = _fs; struct bootfs *fs = _fs;
status_t status; status_t status;
TRACE(("bootfs_read_dir(fs_cookie = %p vnode = %p, file_cookie = %p, buffer = %p, bufferSize = %ld, num = %d)\n",_fs, _vnode, cookie, dirent, bufferSize, *_num)); TRACE(("bootfs_read_dir(fs_volume = %p vnode = %p, fs_cookie = %p, buffer = %p, bufferSize = %ld, num = %ld)\n",_fs, _vnode, cookie, dirent, bufferSize, *_num));
mutex_lock(&fs->lock); mutex_lock(&fs->lock);
@@ -857,7 +857,7 @@ err:
static status_t static status_t
bootfs_rewind_dir(fs_cookie _fs, fs_vnode _vnode, file_cookie _cookie) bootfs_rewind_dir(fs_volume _fs, fs_vnode _vnode, fs_cookie _cookie)
{ {
struct bootfs *fs = _fs; struct bootfs *fs = _fs;
struct bootfs_vnode *vnode = _vnode; struct bootfs_vnode *vnode = _vnode;
@@ -873,15 +873,15 @@ bootfs_rewind_dir(fs_cookie _fs, fs_vnode _vnode, file_cookie _cookie)
static status_t static status_t
bootfs_ioctl(fs_cookie _fs, fs_vnode _v, file_cookie _cookie, ulong op, void *buf, size_t len) bootfs_ioctl(fs_volume _fs, fs_vnode _v, fs_cookie _cookie, ulong op, void *buf, size_t len)
{ {
TRACE(("bootfs_ioctl: fs_cookie %p vnode %p, file_cookie %p, op %lu, buf %p, len %ld\n", _fs, _v, _cookie, op, buf, len)); TRACE(("bootfs_ioctl: fs_volume %p vnode %p, fs_cookie %p, op %lu, buf %p, len %ld\n", _fs, _v, _cookie, op, buf, len));
return EINVAL; return EINVAL;
} }
static status_t static status_t
bootfs_can_page(fs_cookie _fs, fs_vnode _v) bootfs_can_page(fs_volume _fs, fs_vnode _v)
{ {
struct bootfs_vnode *v = _v; struct bootfs_vnode *v = _v;
@@ -895,7 +895,7 @@ bootfs_can_page(fs_cookie _fs, fs_vnode _v)
static ssize_t static ssize_t
bootfs_read_page(fs_cookie _fs, fs_vnode _v, iovecs *vecs, off_t pos) bootfs_read_page(fs_volume _fs, fs_vnode _v, iovecs *vecs, off_t pos)
{ {
struct bootfs *fs = _fs; struct bootfs *fs = _fs;
struct bootfs_vnode *v = _v; struct bootfs_vnode *v = _v;
@@ -926,7 +926,7 @@ bootfs_read_page(fs_cookie _fs, fs_vnode _v, iovecs *vecs, off_t pos)
static ssize_t static ssize_t
bootfs_write_page(fs_cookie _fs, fs_vnode _v, iovecs *vecs, off_t pos) bootfs_write_page(fs_volume _fs, fs_vnode _v, iovecs *vecs, off_t pos)
{ {
struct bootfs *fs = _fs; struct bootfs *fs = _fs;
struct bootfs_vnode *v = _v; struct bootfs_vnode *v = _v;
@@ -938,21 +938,21 @@ bootfs_write_page(fs_cookie _fs, fs_vnode _v, iovecs *vecs, off_t pos)
static status_t static status_t
bootfs_unlink(fs_cookie _fs, fs_vnode _dir, const char *name) bootfs_unlink(fs_volume _fs, fs_vnode _dir, const char *name)
{ {
return EROFS; return EROFS;
} }
static status_t static status_t
bootfs_rename(fs_cookie _fs, fs_vnode _olddir, const char *oldname, fs_vnode _newdir, const char *newname) bootfs_rename(fs_volume _fs, fs_vnode _olddir, const char *oldname, fs_vnode _newdir, const char *newname)
{ {
return EROFS; return EROFS;
} }
static status_t static status_t
bootfs_read_stat(fs_cookie _fs, fs_vnode _v, struct stat *stat) bootfs_read_stat(fs_volume _fs, fs_vnode _v, struct stat *stat)
{ {
struct bootfs *fs = _fs; struct bootfs *fs = _fs;
struct bootfs_vnode *v = _v; struct bootfs_vnode *v = _v;
@@ -991,7 +991,7 @@ err:
static status_t static status_t
bootfs_write_stat(fs_cookie _fs, fs_vnode _v, const struct stat *stat, int stat_mask) bootfs_write_stat(fs_volume _fs, fs_vnode _v, const struct stat *stat, int stat_mask)
{ {
struct bootfs *fs = _fs; struct bootfs *fs = _fs;
struct bootfs_vnode *v = _v; struct bootfs_vnode *v = _v;
@@ -1056,6 +1056,9 @@ static struct fs_calls bootfs_calls = {
&bootfs_free_cookie, // and files here - that's intended, not by accident &bootfs_free_cookie, // and files here - that's intended, not by accident
&bootfs_read_dir, &bootfs_read_dir,
&bootfs_rewind_dir, &bootfs_rewind_dir,
// the other operations are not supported (attributes, indices, queries)
NULL,
}; };
+33 -30
View File
@@ -347,7 +347,7 @@ devfs_set_partition( struct devfs *fs, struct devfs_vnode *v,
part_map->session = info.session; part_map->session = info.session;
part_map->partition = info.partition; part_map->partition = info.partition;
sprintf(part_name, "%i_%i", info.session, info.partition); sprintf(part_name, "%li_%li", info.session, info.partition);
mutex_lock(&gDeviceFileSystem->lock); mutex_lock(&gDeviceFileSystem->lock);
@@ -406,7 +406,7 @@ err2:
static status_t static status_t
devfs_mount(fs_id id, const char *devfs, void *args, fs_cookie *_fs, vnode_id *root_vnid) devfs_mount(fs_id id, const char *devfs, void *args, fs_volume *_fs, vnode_id *root_vnid)
{ {
struct devfs *fs; struct devfs *fs;
struct devfs_vnode *v; struct devfs_vnode *v;
@@ -479,7 +479,7 @@ err:
static status_t static status_t
devfs_unmount(fs_cookie _fs) devfs_unmount(fs_volume _fs)
{ {
struct devfs *fs = _fs; struct devfs *fs = _fs;
struct devfs_vnode *v; struct devfs_vnode *v;
@@ -503,7 +503,7 @@ devfs_unmount(fs_cookie _fs)
static status_t static status_t
devfs_sync(fs_cookie fs) devfs_sync(fs_volume fs)
{ {
TRACE(("devfs_sync: entry\n")); TRACE(("devfs_sync: entry\n"));
@@ -512,7 +512,7 @@ devfs_sync(fs_cookie fs)
static status_t static status_t
devfs_lookup(fs_cookie _fs, fs_vnode _dir, const char *name, vnode_id *_id, int *_type) devfs_lookup(fs_volume _fs, fs_vnode _dir, const char *name, vnode_id *_id, int *_type)
{ {
struct devfs *fs = (struct devfs *)_fs; struct devfs *fs = (struct devfs *)_fs;
struct devfs_vnode *dir = (struct devfs_vnode *)_dir; struct devfs_vnode *dir = (struct devfs_vnode *)_dir;
@@ -548,7 +548,7 @@ err:
static status_t static status_t
devfs_get_vnode_name(fs_cookie _fs, fs_vnode _vnode, char *buffer, size_t bufferSize) devfs_get_vnode_name(fs_volume _fs, fs_vnode _vnode, char *buffer, size_t bufferSize)
{ {
struct devfs_vnode *vnode = (struct devfs_vnode *)_vnode; struct devfs_vnode *vnode = (struct devfs_vnode *)_vnode;
@@ -560,7 +560,7 @@ devfs_get_vnode_name(fs_cookie _fs, fs_vnode _vnode, char *buffer, size_t buffer
static status_t static status_t
devfs_get_vnode(fs_cookie _fs, vnode_id id, fs_vnode *_vnode, bool reenter) devfs_get_vnode(fs_volume _fs, vnode_id id, fs_vnode *_vnode, bool reenter)
{ {
struct devfs *fs = (struct devfs *)_fs; struct devfs *fs = (struct devfs *)_fs;
@@ -584,7 +584,7 @@ devfs_get_vnode(fs_cookie _fs, vnode_id id, fs_vnode *_vnode, bool reenter)
static status_t static status_t
devfs_put_vnode(fs_cookie _fs, fs_vnode _v, bool reenter) devfs_put_vnode(fs_volume _fs, fs_vnode _v, bool reenter)
{ {
#if DEVFS_TRACE #if DEVFS_TRACE
struct devfs_vnode *vnode = (struct devfs_vnode *)_v; struct devfs_vnode *vnode = (struct devfs_vnode *)_v;
@@ -597,7 +597,7 @@ devfs_put_vnode(fs_cookie _fs, fs_vnode _v, bool reenter)
static status_t static status_t
devfs_remove_vnode(fs_cookie _fs, fs_vnode _v, bool reenter) devfs_remove_vnode(fs_volume _fs, fs_vnode _v, bool reenter)
{ {
struct devfs *fs = (struct devfs *)_fs; struct devfs *fs = (struct devfs *)_fs;
struct devfs_vnode *vnode = (struct devfs_vnode *)_v; struct devfs_vnode *vnode = (struct devfs_vnode *)_v;
@@ -622,21 +622,21 @@ devfs_remove_vnode(fs_cookie _fs, fs_vnode _v, bool reenter)
static status_t static status_t
devfs_create(fs_cookie _fs, fs_vnode _dir, const char *name, int omode, int perms, file_cookie *_cookie, vnode_id *new_vnid) devfs_create(fs_volume _fs, fs_vnode _dir, const char *name, int omode, int perms, fs_cookie *_cookie, vnode_id *new_vnid)
{ {
return EROFS; return EROFS;
} }
static status_t static status_t
devfs_open(fs_cookie _fs, fs_vnode _v, int oflags, file_cookie *_cookie) devfs_open(fs_volume _fs, fs_vnode _v, int oflags, fs_cookie *_cookie)
{ {
struct devfs *fs = _fs; struct devfs *fs = _fs;
struct devfs_vnode *vnode = _v; struct devfs_vnode *vnode = _v;
struct devfs_cookie *cookie; struct devfs_cookie *cookie;
status_t status = 0; status_t status = 0;
TRACE(("devfs_open: fs_cookie %p vnode %p, oflags 0x%x, file_cookie %p \n", fs, vnode, oflags, _cookie)); TRACE(("devfs_open: fs_cookie %p vnode %p, oflags 0x%x, fs_cookie %p \n", fs, vnode, oflags, _cookie));
cookie = kmalloc(sizeof(struct devfs_cookie)); cookie = kmalloc(sizeof(struct devfs_cookie));
if (cookie == NULL) if (cookie == NULL)
@@ -653,7 +653,7 @@ devfs_open(fs_cookie _fs, fs_vnode _v, int oflags, file_cookie *_cookie)
static status_t static status_t
devfs_close(fs_cookie _fs, fs_vnode _v, file_cookie _cookie) devfs_close(fs_volume _fs, fs_vnode _v, fs_cookie _cookie)
{ {
struct devfs_vnode *vnode = _v; struct devfs_vnode *vnode = _v;
struct devfs_cookie *cookie = _cookie; struct devfs_cookie *cookie = _cookie;
@@ -670,7 +670,7 @@ devfs_close(fs_cookie _fs, fs_vnode _v, file_cookie _cookie)
static status_t static status_t
devfs_free_cookie(fs_cookie _fs, fs_vnode _v, file_cookie _cookie) devfs_free_cookie(fs_volume _fs, fs_vnode _v, fs_cookie _cookie)
{ {
struct devfs_vnode *vnode = _v; struct devfs_vnode *vnode = _v;
struct devfs_cookie *cookie = _cookie; struct devfs_cookie *cookie = _cookie;
@@ -690,14 +690,14 @@ devfs_free_cookie(fs_cookie _fs, fs_vnode _v, file_cookie _cookie)
static status_t static status_t
devfs_fsync(fs_cookie _fs, fs_vnode _v) devfs_fsync(fs_volume _fs, fs_vnode _v)
{ {
return 0; return 0;
} }
static ssize_t static ssize_t
devfs_read(fs_cookie _fs, fs_vnode _v, file_cookie _cookie, off_t pos, void *buffer, size_t *length) devfs_read(fs_volume _fs, fs_vnode _v, fs_cookie _cookie, off_t pos, void *buffer, size_t *length)
{ {
struct devfs *fs = _fs; struct devfs *fs = _fs;
struct devfs_vnode *vnode = _v; struct devfs_vnode *vnode = _v;
@@ -730,7 +730,7 @@ devfs_read(fs_cookie _fs, fs_vnode _v, file_cookie _cookie, off_t pos, void *buf
static ssize_t static ssize_t
devfs_write(fs_cookie _fs, fs_vnode _v, file_cookie _cookie, off_t pos, const void *buf, size_t *len) devfs_write(fs_volume _fs, fs_vnode _v, fs_cookie _cookie, off_t pos, const void *buf, size_t *len)
{ {
struct devfs_vnode *vnode = _v; struct devfs_vnode *vnode = _v;
struct devfs_cookie *cookie = _cookie; struct devfs_cookie *cookie = _cookie;
@@ -760,7 +760,7 @@ devfs_write(fs_cookie _fs, fs_vnode _v, file_cookie _cookie, off_t pos, const vo
static off_t static off_t
devfs_seek(fs_cookie _fs, fs_vnode _v, file_cookie _cookie, off_t pos, int seekType) devfs_seek(fs_volume _fs, fs_vnode _v, fs_cookie _cookie, off_t pos, int seekType)
{ {
#ifdef DEBUG #ifdef DEBUG
struct devfs *fs = _fs; struct devfs *fs = _fs;
@@ -775,14 +775,14 @@ devfs_seek(fs_cookie _fs, fs_vnode _v, file_cookie _cookie, off_t pos, int seekT
static status_t static status_t
devfs_create_dir(fs_cookie _fs, fs_vnode _dir, const char *name, int perms, vnode_id *new_vnid) devfs_create_dir(fs_volume _fs, fs_vnode _dir, const char *name, int perms, vnode_id *new_vnid)
{ {
return EROFS; return EROFS;
} }
static status_t static status_t
devfs_open_dir(fs_cookie _fs, fs_vnode _v, file_cookie *_cookie) devfs_open_dir(fs_volume _fs, fs_vnode _v, fs_cookie *_cookie)
{ {
struct devfs *fs = _fs; struct devfs *fs = _fs;
struct devfs_vnode *vnode = _v; struct devfs_vnode *vnode = _v;
@@ -809,7 +809,7 @@ devfs_open_dir(fs_cookie _fs, fs_vnode _v, file_cookie *_cookie)
static status_t static status_t
devfs_read_dir(fs_cookie _fs, fs_vnode _vnode, file_cookie _cookie, struct dirent *dirent, size_t bufferSize, uint32 *_num) devfs_read_dir(fs_volume _fs, fs_vnode _vnode, fs_cookie _cookie, struct dirent *dirent, size_t bufferSize, uint32 *_num)
{ {
struct devfs_cookie *cookie = _cookie; struct devfs_cookie *cookie = _cookie;
struct devfs *fs = _fs; struct devfs *fs = _fs;
@@ -851,7 +851,7 @@ err:
static status_t static status_t
devfs_rewind_dir(fs_cookie _fs, fs_vnode _vnode, file_cookie _cookie) devfs_rewind_dir(fs_volume _fs, fs_vnode _vnode, fs_cookie _cookie)
{ {
struct devfs *fs = _fs; struct devfs *fs = _fs;
struct devfs_cookie *cookie = _cookie; struct devfs_cookie *cookie = _cookie;
@@ -871,7 +871,7 @@ devfs_rewind_dir(fs_cookie _fs, fs_vnode _vnode, file_cookie _cookie)
static status_t static status_t
devfs_ioctl(fs_cookie _fs, fs_vnode _v, file_cookie _cookie, ulong op, void *buf, size_t len) devfs_ioctl(fs_volume _fs, fs_vnode _v, fs_cookie _cookie, ulong op, void *buf, size_t len)
{ {
struct devfs *fs = _fs; struct devfs *fs = _fs;
struct devfs_vnode *v = _v; struct devfs_vnode *v = _v;
@@ -895,7 +895,7 @@ devfs_ioctl(fs_cookie _fs, fs_vnode _v, file_cookie _cookie, ulong op, void *buf
/* /*
static int devfs_canpage(fs_cookie _fs, fs_vnode _v) static int devfs_canpage(fs_volume _fs, fs_vnode _v)
{ {
struct devfs_vnode *v = _v; struct devfs_vnode *v = _v;
@@ -910,7 +910,7 @@ static int devfs_canpage(fs_cookie _fs, fs_vnode _v)
} }
} }
static ssize_t devfs_readpage(fs_cookie _fs, fs_vnode _v, iovecs *vecs, off_t pos) static ssize_t devfs_readpage(fs_volume _fs, fs_vnode _v, iovecs *vecs, off_t pos)
{ {
struct devfs_vnode *v = _v; struct devfs_vnode *v = _v;
@@ -940,7 +940,7 @@ static ssize_t devfs_readpage(fs_cookie _fs, fs_vnode _v, iovecs *vecs, off_t po
} }
} }
static ssize_t devfs_writepage(fs_cookie _fs, fs_vnode _v, iovecs *vecs, off_t pos) static ssize_t devfs_writepage(fs_volume _fs, fs_vnode _v, iovecs *vecs, off_t pos)
{ {
struct devfs_vnode *v = _v; struct devfs_vnode *v = _v;
@@ -972,7 +972,7 @@ static ssize_t devfs_writepage(fs_cookie _fs, fs_vnode _v, iovecs *vecs, off_t p
*/ */
static status_t static status_t
devfs_unlink(fs_cookie _fs, fs_vnode _dir, const char *name) devfs_unlink(fs_volume _fs, fs_vnode _dir, const char *name)
{ {
struct devfs *fs = _fs; struct devfs *fs = _fs;
struct devfs_vnode *dir = _dir; struct devfs_vnode *dir = _dir;
@@ -1007,14 +1007,14 @@ err:
static status_t static status_t
devfs_rename(fs_cookie _fs, fs_vnode _olddir, const char *oldname, fs_vnode _newdir, const char *newname) devfs_rename(fs_volume _fs, fs_vnode _olddir, const char *oldname, fs_vnode _newdir, const char *newname)
{ {
return EROFS; return EROFS;
} }
static status_t static status_t
devfs_read_stat(fs_cookie _fs, fs_vnode _v, struct stat *stat) devfs_read_stat(fs_volume _fs, fs_vnode _v, struct stat *stat)
{ {
struct devfs_vnode *vnode = _v; struct devfs_vnode *vnode = _v;
@@ -1030,7 +1030,7 @@ devfs_read_stat(fs_cookie _fs, fs_vnode _v, struct stat *stat)
static status_t static status_t
devfs_write_stat(fs_cookie _fs, fs_vnode _v, const struct stat *stat, int stat_mask) devfs_write_stat(fs_volume _fs, fs_vnode _v, const struct stat *stat, int stat_mask)
{ {
#if DEVFS_TRACE #if DEVFS_TRACE
struct devfs_vnode *v = _v; struct devfs_vnode *v = _v;
@@ -1095,6 +1095,9 @@ static struct fs_calls devfs_calls = {
&devfs_free_cookie, // and files here - that's intended, not by accident &devfs_free_cookie, // and files here - that's intended, not by accident
&devfs_read_dir, &devfs_read_dir,
&devfs_rewind_dir, &devfs_rewind_dir,
// the other operations are not supported (attributes, indices, queries)
NULL,
}; };
+38 -32
View File
@@ -155,8 +155,11 @@ remove_cookie_from_jar(struct rootfs_vnode *dir, struct rootfs_cookie *cookie)
cookie->prev = cookie->next = NULL; cookie->prev = cookie->next = NULL;
} }
/* makes sure none of the dircookies point to the vnode passed in */ /* makes sure none of the dircookies point to the vnode passed in */
static void update_dircookies(struct rootfs_vnode *dir, struct rootfs_vnode *v)
static void
update_dircookies(struct rootfs_vnode *dir, struct rootfs_vnode *v)
{ {
struct rootfs_cookie *cookie; struct rootfs_cookie *cookie;
@@ -261,7 +264,7 @@ err:
static status_t static status_t
rootfs_mount(fs_id id, const char *device, void *args, fs_cookie *_fs, vnode_id *root_vnid) rootfs_mount(fs_id id, const char *device, void *args, fs_volume *_fs, vnode_id *root_vnid)
{ {
struct rootfs *fs; struct rootfs *fs;
struct rootfs_vnode *vnode; struct rootfs_vnode *vnode;
@@ -326,7 +329,7 @@ err1:
static status_t static status_t
rootfs_unmount(fs_cookie _fs) rootfs_unmount(fs_volume _fs)
{ {
struct rootfs *fs = (struct rootfs *)_fs; struct rootfs *fs = (struct rootfs *)_fs;
struct rootfs_vnode *v; struct rootfs_vnode *v;
@@ -353,7 +356,7 @@ rootfs_unmount(fs_cookie _fs)
static status_t static status_t
rootfs_sync(fs_cookie fs) rootfs_sync(fs_volume fs)
{ {
TRACE(("rootfs_sync: entry\n")); TRACE(("rootfs_sync: entry\n"));
@@ -362,7 +365,7 @@ rootfs_sync(fs_cookie fs)
static status_t static status_t
rootfs_lookup(fs_cookie _fs, fs_vnode _dir, const char *name, vnode_id *_id, int *_type) rootfs_lookup(fs_volume _fs, fs_vnode _dir, const char *name, vnode_id *_id, int *_type)
{ {
struct rootfs *fs = (struct rootfs *)_fs; struct rootfs *fs = (struct rootfs *)_fs;
struct rootfs_vnode *dir = (struct rootfs_vnode *)_dir; struct rootfs_vnode *dir = (struct rootfs_vnode *)_dir;
@@ -398,7 +401,7 @@ err:
static status_t static status_t
rootfs_get_vnode_name(fs_cookie _fs, fs_vnode _vnode, char *buffer, size_t bufferSize) rootfs_get_vnode_name(fs_volume _fs, fs_vnode _vnode, char *buffer, size_t bufferSize)
{ {
struct rootfs_vnode *vnode = (struct rootfs_vnode *)_vnode; struct rootfs_vnode *vnode = (struct rootfs_vnode *)_vnode;
@@ -410,7 +413,7 @@ rootfs_get_vnode_name(fs_cookie _fs, fs_vnode _vnode, char *buffer, size_t buffe
static status_t static status_t
rootfs_get_vnode(fs_cookie _fs, vnode_id id, fs_vnode *_vnode, bool reenter) rootfs_get_vnode(fs_volume _fs, vnode_id id, fs_vnode *_vnode, bool reenter)
{ {
struct rootfs *fs = (struct rootfs *)_fs; struct rootfs *fs = (struct rootfs *)_fs;
@@ -434,7 +437,7 @@ rootfs_get_vnode(fs_cookie _fs, vnode_id id, fs_vnode *_vnode, bool reenter)
static status_t static status_t
rootfs_put_vnode(fs_cookie _fs, fs_vnode _vnode, bool reenter) rootfs_put_vnode(fs_volume _fs, fs_vnode _vnode, bool reenter)
{ {
#if ROOTFS_TRACE #if ROOTFS_TRACE
struct rootfs_vnode *vnode = (struct rootfs_vnode *)_vnode; struct rootfs_vnode *vnode = (struct rootfs_vnode *)_vnode;
@@ -446,7 +449,7 @@ rootfs_put_vnode(fs_cookie _fs, fs_vnode _vnode, bool reenter)
static status_t static status_t
rootfs_remove_vnode(fs_cookie _fs, fs_vnode _vnode, bool reenter) rootfs_remove_vnode(fs_volume _fs, fs_vnode _vnode, bool reenter)
{ {
struct rootfs *fs = (struct rootfs *)_fs; struct rootfs *fs = (struct rootfs *)_fs;
struct rootfs_vnode *vnode = (struct rootfs_vnode *)_vnode; struct rootfs_vnode *vnode = (struct rootfs_vnode *)_vnode;
@@ -471,14 +474,14 @@ rootfs_remove_vnode(fs_cookie _fs, fs_vnode _vnode, bool reenter)
static status_t static status_t
rootfs_create(fs_cookie _fs, fs_vnode _dir, const char *name, int omode, int perms, file_cookie *_cookie, vnode_id *new_vnid) rootfs_create(fs_volume _fs, fs_vnode _dir, const char *name, int omode, int perms, fs_cookie *_cookie, vnode_id *new_vnid)
{ {
return EINVAL; return EINVAL;
} }
static status_t static status_t
rootfs_open(fs_cookie _fs, fs_vnode _v, int oflags, file_cookie *_cookie) rootfs_open(fs_volume _fs, fs_vnode _v, int oflags, fs_cookie *_cookie)
{ {
// allow to open the file, but it can't be done anything with it // allow to open the file, but it can't be done anything with it
@@ -490,7 +493,7 @@ rootfs_open(fs_cookie _fs, fs_vnode _v, int oflags, file_cookie *_cookie)
static status_t static status_t
rootfs_close(fs_cookie _fs, fs_vnode _v, file_cookie _cookie) rootfs_close(fs_volume _fs, fs_vnode _v, fs_cookie _cookie)
{ {
#if ROOTFS_TRACE #if ROOTFS_TRACE
struct rootfs_vnode *v = _v; struct rootfs_vnode *v = _v;
@@ -503,7 +506,7 @@ rootfs_close(fs_cookie _fs, fs_vnode _v, file_cookie _cookie)
static status_t static status_t
rootfs_free_cookie(fs_cookie _fs, fs_vnode _v, file_cookie _cookie) rootfs_free_cookie(fs_volume _fs, fs_vnode _v, fs_cookie _cookie)
{ {
struct rootfs_cookie *cookie = _cookie; struct rootfs_cookie *cookie = _cookie;
#if ROOTFS_TRACE #if ROOTFS_TRACE
@@ -519,21 +522,21 @@ rootfs_free_cookie(fs_cookie _fs, fs_vnode _v, file_cookie _cookie)
static status_t static status_t
rootfs_fsync(fs_cookie _fs, fs_vnode _v) rootfs_fsync(fs_volume _fs, fs_vnode _v)
{ {
return 0; return 0;
} }
static ssize_t static ssize_t
rootfs_read(fs_cookie _fs, fs_vnode _v, file_cookie _cookie, off_t pos, void *buf, size_t *len) rootfs_read(fs_volume _fs, fs_vnode _v, fs_cookie _cookie, off_t pos, void *buf, size_t *len)
{ {
return EINVAL; return EINVAL;
} }
static ssize_t static ssize_t
rootfs_write(fs_cookie fs, fs_vnode v, file_cookie cookie, off_t pos, const void *buf, size_t *len) rootfs_write(fs_volume fs, fs_vnode v, fs_cookie cookie, off_t pos, const void *buf, size_t *len)
{ {
TRACE(("rootfs_write: vnode %p, cookie %p, pos 0x%Lx , len 0x%lx\n", v, cookie, pos, *len)); TRACE(("rootfs_write: vnode %p, cookie %p, pos 0x%Lx , len 0x%lx\n", v, cookie, pos, *len));
@@ -542,14 +545,14 @@ rootfs_write(fs_cookie fs, fs_vnode v, file_cookie cookie, off_t pos, const void
static off_t static off_t
rootfs_seek(fs_cookie _fs, fs_vnode _v, file_cookie _cookie, off_t pos, int st) rootfs_seek(fs_volume _fs, fs_vnode _v, fs_cookie _cookie, off_t pos, int st)
{ {
return ESPIPE; return ESPIPE;
} }
static status_t static status_t
rootfs_create_dir(fs_cookie _fs, fs_vnode _dir, const char *name, int perms, vnode_id *new_vnid) rootfs_create_dir(fs_volume _fs, fs_vnode _dir, const char *name, int perms, vnode_id *new_vnid)
{ {
struct rootfs *fs = _fs; struct rootfs *fs = _fs;
struct rootfs_vnode *dir = _dir; struct rootfs_vnode *dir = _dir;
@@ -602,7 +605,7 @@ err:
static status_t static status_t
rootfs_remove_dir(fs_cookie _fs, fs_vnode _dir, const char *name) rootfs_remove_dir(fs_volume _fs, fs_vnode _dir, const char *name)
{ {
struct rootfs *fs = _fs; struct rootfs *fs = _fs;
struct rootfs_vnode *dir = _dir; struct rootfs_vnode *dir = _dir;
@@ -614,7 +617,7 @@ rootfs_remove_dir(fs_cookie _fs, fs_vnode _dir, const char *name)
static status_t static status_t
rootfs_open_dir(fs_cookie _fs, fs_vnode _v, file_cookie *_cookie) rootfs_open_dir(fs_volume _fs, fs_vnode _v, fs_cookie *_cookie)
{ {
struct rootfs *fs = (struct rootfs *)_fs; struct rootfs *fs = (struct rootfs *)_fs;
struct rootfs_vnode *vnode = (struct rootfs_vnode *)_v; struct rootfs_vnode *vnode = (struct rootfs_vnode *)_v;
@@ -644,7 +647,7 @@ rootfs_open_dir(fs_cookie _fs, fs_vnode _v, file_cookie *_cookie)
static status_t static status_t
rootfs_read_dir(fs_cookie _fs, fs_vnode _vnode, file_cookie _cookie, struct dirent *dirent, size_t bufferSize, uint32 *_num) rootfs_read_dir(fs_volume _fs, fs_vnode _vnode, fs_cookie _cookie, struct dirent *dirent, size_t bufferSize, uint32 *_num)
{ {
struct rootfs_cookie *cookie = _cookie; struct rootfs_cookie *cookie = _cookie;
struct rootfs *fs = _fs; struct rootfs *fs = _fs;
@@ -684,7 +687,7 @@ err:
static status_t static status_t
rootfs_rewind_dir(fs_cookie _fs, fs_vnode _vnode, file_cookie _cookie) rootfs_rewind_dir(fs_volume _fs, fs_vnode _vnode, fs_cookie _cookie)
{ {
struct rootfs *fs = _fs; struct rootfs *fs = _fs;
struct rootfs_vnode *vnode = _vnode; struct rootfs_vnode *vnode = _vnode;
@@ -700,7 +703,7 @@ rootfs_rewind_dir(fs_cookie _fs, fs_vnode _vnode, file_cookie _cookie)
static status_t static status_t
rootfs_ioctl(fs_cookie _fs, fs_vnode _v, file_cookie _cookie, ulong op, void *buf, size_t len) rootfs_ioctl(fs_volume _fs, fs_vnode _v, fs_cookie _cookie, ulong op, void *buf, size_t len)
{ {
TRACE(("rootfs_ioctl: vnode %p, cookie %p, op %ld, buf %p, len %ld\n", _v, _cookie, op, buf, len)); TRACE(("rootfs_ioctl: vnode %p, cookie %p, op %ld, buf %p, len %ld\n", _v, _cookie, op, buf, len));
@@ -709,28 +712,28 @@ rootfs_ioctl(fs_cookie _fs, fs_vnode _v, file_cookie _cookie, ulong op, void *bu
static status_t static status_t
rootfs_can_page(fs_cookie _fs, fs_vnode _v) rootfs_can_page(fs_volume _fs, fs_vnode _v)
{ {
return -1; return -1;
} }
static ssize_t static ssize_t
rootfs_read_page(fs_cookie _fs, fs_vnode _v, iovecs *vecs, off_t pos) rootfs_read_page(fs_volume _fs, fs_vnode _v, iovecs *vecs, off_t pos)
{ {
return EPERM; return EPERM;
} }
static ssize_t static ssize_t
rootfs_write_page(fs_cookie _fs, fs_vnode _v, iovecs *vecs, off_t pos) rootfs_write_page(fs_volume _fs, fs_vnode _v, iovecs *vecs, off_t pos)
{ {
return EPERM; return EPERM;
} }
static status_t static status_t
rootfs_read_link(fs_cookie _fs, fs_vnode _link, char *buffer, size_t bufferSize) rootfs_read_link(fs_volume _fs, fs_vnode _link, char *buffer, size_t bufferSize)
{ {
struct rootfs *fs = _fs; struct rootfs *fs = _fs;
struct rootfs_vnode *link = _link; struct rootfs_vnode *link = _link;
@@ -747,7 +750,7 @@ rootfs_read_link(fs_cookie _fs, fs_vnode _link, char *buffer, size_t bufferSize)
static status_t static status_t
rootfs_symlink(fs_cookie _fs, fs_vnode _dir, const char *name, const char *path, int mode) rootfs_symlink(fs_volume _fs, fs_vnode _dir, const char *name, const char *path, int mode)
{ {
struct rootfs *fs = _fs; struct rootfs *fs = _fs;
struct rootfs_vnode *dir = _dir; struct rootfs_vnode *dir = _dir;
@@ -803,7 +806,7 @@ err:
static status_t static status_t
rootfs_unlink(fs_cookie _fs, fs_vnode _dir, const char *name) rootfs_unlink(fs_volume _fs, fs_vnode _dir, const char *name)
{ {
struct rootfs *fs = _fs; struct rootfs *fs = _fs;
struct rootfs_vnode *dir = _dir; struct rootfs_vnode *dir = _dir;
@@ -815,7 +818,7 @@ rootfs_unlink(fs_cookie _fs, fs_vnode _dir, const char *name)
static status_t static status_t
rootfs_rename(fs_cookie _fs, fs_vnode _olddir, const char *oldname, fs_vnode _newdir, const char *newname) rootfs_rename(fs_volume _fs, fs_vnode _olddir, const char *oldname, fs_vnode _newdir, const char *newname)
{ {
struct rootfs *fs = _fs; struct rootfs *fs = _fs;
struct rootfs_vnode *olddir = _olddir; struct rootfs_vnode *olddir = _olddir;
@@ -887,7 +890,7 @@ err:
static status_t static status_t
rootfs_read_stat(fs_cookie _fs, fs_vnode _v, struct stat *stat) rootfs_read_stat(fs_volume _fs, fs_vnode _v, struct stat *stat)
{ {
struct rootfs_vnode *vnode = _v; struct rootfs_vnode *vnode = _v;
@@ -903,7 +906,7 @@ rootfs_read_stat(fs_cookie _fs, fs_vnode _v, struct stat *stat)
static status_t static status_t
rootfs_write_stat(fs_cookie _fs, fs_vnode _v, const struct stat *stat, int stat_mask) rootfs_write_stat(fs_volume _fs, fs_vnode _v, const struct stat *stat, int stat_mask)
{ {
#if ROOTFS_TRACE #if ROOTFS_TRACE
struct rootfs *fs = _fs; struct rootfs *fs = _fs;
@@ -969,6 +972,9 @@ static struct fs_calls rootfs_calls = {
&rootfs_free_cookie, // and files here - that's intended, not by accident &rootfs_free_cookie, // and files here - that's intended, not by accident
&rootfs_read_dir, &rootfs_read_dir,
&rootfs_rewind_dir, &rootfs_rewind_dir,
// the other operations are not supported (attributes, indices, queries)
NULL,
}; };
+13 -13
View File
@@ -314,7 +314,7 @@ dec_vnode_ref_count(struct vnode *vnode, bool reenter)
old_ref = atomic_add(&vnode->ref_count, -1); old_ref = atomic_add(&vnode->ref_count, -1);
PRINT(("dec_vnode_ref_count: vnode 0x%p, ref now %d\n", vnode, vnode->ref_count)); PRINT(("dec_vnode_ref_count: vnode %p, ref now %ld\n", vnode, vnode->ref_count));
if (old_ref == 1) { if (old_ref == 1) {
vnode->busy = true; vnode->busy = true;
@@ -351,7 +351,7 @@ static int
inc_vnode_ref_count(struct vnode *vnode) inc_vnode_ref_count(struct vnode *vnode)
{ {
atomic_add(&vnode->ref_count, 1); atomic_add(&vnode->ref_count, 1);
PRINT(("inc_vnode_ref_count: vnode 0x%p, ref now %d\n", vnode, vnode->ref_count)); PRINT(("inc_vnode_ref_count: vnode %p, ref now %ld\n", vnode, vnode->ref_count));
return 0; return 0;
} }
@@ -374,7 +374,7 @@ get_vnode(fs_id fsID, vnode_id vnodeID, struct vnode **_vnode, int reenter)
struct vnode *vnode; struct vnode *vnode;
int err; int err;
FUNCTION(("get_vnode: fsid %d vnid 0x%Lx 0x%p\n", fsID, vnodeID,_vnode)); FUNCTION(("get_vnode: fsid %ld vnid 0x%Lx %p\n", fsID, vnodeID, _vnode));
mutex_lock(&gVnodeMutex); mutex_lock(&gVnodeMutex);
@@ -555,7 +555,7 @@ entry_ref_to_vnode(fs_id fsID,vnode_id directoryID,const char *name,struct vnode
if (vnode == NULL) { if (vnode == NULL) {
// fs_lookup() should have left the vnode referenced, so chances // fs_lookup() should have left the vnode referenced, so chances
// are good that this will never happen // are good that this will never happen
panic("entry_ref_to_vnode: could not lookup vnode (fsid 0x%x vnid 0x%Lx)\n", fsID, id); panic("entry_ref_to_vnode: could not lookup vnode (fsid 0x%lx vnid 0x%Lx)\n", fsID, id);
return B_ENTRY_NOT_FOUND; return B_ENTRY_NOT_FOUND;
} }
@@ -622,7 +622,7 @@ vnode_path_to_vnode(struct vnode *vnode, char *path, bool traverseLeafLink, stru
if (!nextVnode) { if (!nextVnode) {
// pretty screwed up here // pretty screwed up here
panic("path_to_vnode: could not lookup vnode (fsid 0x%x vnid 0x%Lx)\n", vnode->fs_id, vnodeID); panic("path_to_vnode: could not lookup vnode (fsid 0x%lx vnid 0x%Lx)\n", vnode->fs_id, vnodeID);
put_vnode(vnode); put_vnode(vnode);
return ERR_VFS_PATH_NOT_FOUND; return ERR_VFS_PATH_NOT_FOUND;
} }
@@ -809,7 +809,7 @@ dir_vnode_to_path(struct vnode *vnode, char *buffer, size_t bufferSize)
mutex_unlock(&gVnodeMutex); mutex_unlock(&gVnodeMutex);
if (parentVnode == NULL) { if (parentVnode == NULL) {
panic("dir_vnode_to_path: could not lookup vnode (fsid 0x%x vnid 0x%Lx)\n", vnode->fs_id, parentID); panic("dir_vnode_to_path: could not lookup vnode (fsid 0x%lx vnid 0x%Lx)\n", vnode->fs_id, parentID);
status = B_ENTRY_NOT_FOUND; status = B_ENTRY_NOT_FOUND;
goto out; goto out;
} }
@@ -848,7 +848,7 @@ dir_vnode_to_path(struct vnode *vnode, char *buffer, size_t bufferSize)
if (!FS_CALL(vnode, fs_get_vnode_name)) { if (!FS_CALL(vnode, fs_get_vnode_name)) {
// If we don't got the vnode's name yet, we have to search for it // If we don't got the vnode's name yet, we have to search for it
// in the parent directory now // in the parent directory now
file_cookie cookie; fs_cookie cookie;
status = FS_CALL(vnode, fs_open_dir)(vnode->mount->cookie, vnode->private_node, &cookie); status = FS_CALL(vnode, fs_open_dir)(vnode->mount->cookie, vnode->private_node, &cookie);
if (status >= B_OK) { if (status >= B_OK) {
@@ -1574,7 +1574,7 @@ vfs_init(kernel_args *ka)
static int static int
new_file_fd(struct vnode *vnode, file_cookie cookie, int openMode, bool kernel) new_file_fd(struct vnode *vnode, fs_cookie cookie, int openMode, bool kernel)
{ {
struct file_descriptor *descriptor; struct file_descriptor *descriptor;
int fd; int fd;
@@ -1605,7 +1605,7 @@ static int
create_vnode(struct vnode *directory, const char *name, int omode, int perms, bool kernel) create_vnode(struct vnode *directory, const char *name, int omode, int perms, bool kernel)
{ {
struct vnode *vnode; struct vnode *vnode;
file_cookie cookie; fs_cookie cookie;
vnode_id newID; vnode_id newID;
int status; int status;
@@ -1645,7 +1645,7 @@ create_vnode(struct vnode *directory, const char *name, int omode, int perms, bo
static int static int
open_vnode(struct vnode *vnode, int omode, bool kernel) open_vnode(struct vnode *vnode, int omode, bool kernel)
{ {
file_cookie cookie; fs_cookie cookie;
int status; int status;
status = FS_CALL(vnode,fs_open)(vnode->mount->cookie, vnode->private_node, omode, &cookie); status = FS_CALL(vnode,fs_open)(vnode->mount->cookie, vnode->private_node, omode, &cookie);
@@ -1669,7 +1669,7 @@ static int
open_dir_vnode(struct vnode *vnode, bool kernel) open_dir_vnode(struct vnode *vnode, bool kernel)
{ {
struct file_descriptor *descriptor; struct file_descriptor *descriptor;
file_cookie cookie; fs_cookie cookie;
int status, fd; int status, fd;
status = FS_CALL(vnode,fs_open_dir)(vnode->mount->cookie, vnode->private_node, &cookie); status = FS_CALL(vnode,fs_open_dir)(vnode->mount->cookie, vnode->private_node, &cookie);
@@ -1728,7 +1728,7 @@ file_create(char *path, int omode, int perms, bool kernel)
{ {
char filename[SYS_MAX_NAME_LEN]; char filename[SYS_MAX_NAME_LEN];
struct vnode *directory,*vnode; struct vnode *directory,*vnode;
file_cookie cookie; fs_cookie cookie;
vnode_id newID; vnode_id newID;
int status; int status;
@@ -1841,7 +1841,7 @@ dir_create_entry_ref(fs_id fsID, vnode_id parentID, const char *name, int perms,
vnode_id newID; vnode_id newID;
int status; int status;
FUNCTION(("dir_create_entry_ref(dev = %d, ino = %Ld, name = '%s', perms = %d)\n", fsID, parentID, name, perms)); FUNCTION(("dir_create_entry_ref(dev = %ld, ino = %Ld, name = '%s', perms = %d)\n", fsID, parentID, name, perms));
status = get_vnode(fsID, parentID, &vnode, kernel); status = get_vnode(fsID, parentID, &vnode, kernel);
if (status < B_OK) if (status < B_OK)
+8 -5
View File
@@ -56,10 +56,11 @@ static void _dump_team_info(struct team *p);
static int dump_team_info(int argc, char **argv); static int dump_team_info(int argc, char **argv);
static void _dump_team_info(struct team *p) static void
_dump_team_info(struct team *p)
{ {
dprintf("TEAM: %p\n", p); dprintf("TEAM: %p\n", p);
dprintf("id: 0x%x\n", p->id); dprintf("id: 0x%lx\n", p->id);
dprintf("name: '%s'\n", p->name); dprintf("name: '%s'\n", p->name);
dprintf("next: %p\n", p->next); dprintf("next: %p\n", p->next);
dprintf("num_threads: %d\n", p->num_threads); dprintf("num_threads: %d\n", p->num_threads);
@@ -67,14 +68,16 @@ static void _dump_team_info(struct team *p)
dprintf("pending_signals: 0x%x\n", p->pending_signals); dprintf("pending_signals: 0x%x\n", p->pending_signals);
dprintf("ioctx: %p\n", p->ioctx); dprintf("ioctx: %p\n", p->ioctx);
dprintf("path: '%s'\n", p->path); dprintf("path: '%s'\n", p->path);
dprintf("aspace_id: 0x%x\n", p->_aspace_id); dprintf("aspace_id: 0x%lx\n", p->_aspace_id);
dprintf("aspace: %p\n", p->aspace); dprintf("aspace: %p\n", p->aspace);
dprintf("kaspace: %p\n", p->kaspace); dprintf("kaspace: %p\n", p->kaspace);
dprintf("main_thread: %p\n", p->main_thread); dprintf("main_thread: %p\n", p->main_thread);
dprintf("thread_list: %p\n", p->thread_list); dprintf("thread_list: %p\n", p->thread_list);
} }
static int dump_team_info(int argc, char **argv)
static int
dump_team_info(int argc, char **argv)
{ {
struct team *p; struct team *p;
int id = -1; int id = -1;
@@ -431,7 +434,7 @@ team_create_team2(void *args)
t = thread_get_current_thread(); t = thread_get_current_thread();
p = t->team; p = t->team;
dprintf("team_create_team2: entry thread %d\n", t->id); dprintf("team_create_team2: entry thread %ld\n", t->id);
// create an initial primary stack region // create an initial primary stack region