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:
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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)
|
||||||
|
|||||||
@@ -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
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user