Added new files to the build.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2483 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
parent
457f7be6f9
commit
5afbd29256
@ -1,6 +1,7 @@
|
|||||||
SubDir OBOS_TOP src kernel core fs ;
|
SubDir OBOS_TOP src kernel core fs ;
|
||||||
|
|
||||||
UsePublicHeaders storage ;
|
UsePublicHeaders storage ;
|
||||||
|
UsePublicHeaders app ;
|
||||||
|
|
||||||
KernelMergeObject kernel_fs.o :
|
KernelMergeObject kernel_fs.o :
|
||||||
<$(SOURCE_GRIST)>bootfs.c
|
<$(SOURCE_GRIST)>bootfs.c
|
||||||
@ -8,6 +9,8 @@ KernelMergeObject kernel_fs.o :
|
|||||||
<$(SOURCE_GRIST)>rootfs.c
|
<$(SOURCE_GRIST)>rootfs.c
|
||||||
<$(SOURCE_GRIST)>vfs.c
|
<$(SOURCE_GRIST)>vfs.c
|
||||||
<$(SOURCE_GRIST)>vfs_select.c
|
<$(SOURCE_GRIST)>vfs_select.c
|
||||||
|
<$(SOURCE_GRIST)>message.c
|
||||||
|
<$(SOURCE_GRIST)>node_monitor.c
|
||||||
:
|
:
|
||||||
-fno-pic -Wno-unused -D_KERNEL_MODE
|
-fno-pic -Wno-unused -D_KERNEL_MODE
|
||||||
;
|
;
|
||||||
|
@ -13,7 +13,9 @@
|
|||||||
#include <Errors.h>
|
#include <Errors.h>
|
||||||
#include <kerrors.h>
|
#include <kerrors.h>
|
||||||
#include <sys/stat.h>
|
#include <sys/stat.h>
|
||||||
|
|
||||||
#include <KernelExport.h>
|
#include <KernelExport.h>
|
||||||
|
#include <NodeMonitor.h>
|
||||||
|
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
@ -24,9 +26,9 @@
|
|||||||
#define ROOTFS_TRACE 0
|
#define ROOTFS_TRACE 0
|
||||||
|
|
||||||
#if ROOTFS_TRACE
|
#if ROOTFS_TRACE
|
||||||
#define TRACE(x) dprintf x
|
# define TRACE(x) dprintf x
|
||||||
#else
|
#else
|
||||||
#define TRACE(x)
|
# define TRACE(x)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
typedef enum {
|
typedef enum {
|
||||||
@ -251,6 +253,7 @@ rootfs_remove(struct rootfs *fs, struct rootfs_vnode *dir, const char *name, boo
|
|||||||
goto err;
|
goto err;
|
||||||
|
|
||||||
rootfs_remove_from_dir(dir, vnode);
|
rootfs_remove_from_dir(dir, vnode);
|
||||||
|
notify_listener(B_ENTRY_REMOVED, fs->id, dir->id, 0, vnode->id, name);
|
||||||
|
|
||||||
// schedule this vnode to be removed when it's ref goes to zero
|
// schedule this vnode to be removed when it's ref goes to zero
|
||||||
vfs_remove_vnode(fs->id, vnode->id);
|
vfs_remove_vnode(fs->id, vnode->id);
|
||||||
@ -554,7 +557,7 @@ rootfs_seek(fs_volume _fs, fs_vnode _v, fs_cookie _cookie, off_t pos, int st)
|
|||||||
|
|
||||||
|
|
||||||
static status_t
|
static status_t
|
||||||
rootfs_create_dir(fs_volume _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 *_newID)
|
||||||
{
|
{
|
||||||
struct rootfs *fs = _fs;
|
struct rootfs *fs = _fs;
|
||||||
struct rootfs_vnode *dir = _dir;
|
struct rootfs_vnode *dir = _dir;
|
||||||
@ -593,7 +596,9 @@ rootfs_create_dir(fs_volume _fs, fs_vnode _dir, const char *name, int perms, vno
|
|||||||
vnode->stream.dir.dir_head = NULL;
|
vnode->stream.dir.dir_head = NULL;
|
||||||
vnode->stream.dir.jar_head = NULL;
|
vnode->stream.dir.jar_head = NULL;
|
||||||
|
|
||||||
mutex_unlock(&fs->lock);
|
notify_listener(B_ENTRY_CREATED, fs->id, dir->id, 0, vnode->id, name);
|
||||||
|
|
||||||
|
mutex_unlock(&fs->lock);
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
err1:
|
err1:
|
||||||
@ -795,6 +800,8 @@ rootfs_symlink(fs_volume _fs, fs_vnode _dir, const char *name, const char *path,
|
|||||||
}
|
}
|
||||||
vnode->stream.symlink.length = strlen(path);
|
vnode->stream.symlink.length = strlen(path);
|
||||||
|
|
||||||
|
notify_listener(B_ENTRY_CREATED, fs->id, dir->id, 0, vnode->id, name);
|
||||||
|
|
||||||
mutex_unlock(&fs->lock);
|
mutex_unlock(&fs->lock);
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
@ -894,11 +901,13 @@ err:
|
|||||||
static status_t
|
static status_t
|
||||||
rootfs_read_stat(fs_volume _fs, fs_vnode _v, struct stat *stat)
|
rootfs_read_stat(fs_volume _fs, fs_vnode _v, struct stat *stat)
|
||||||
{
|
{
|
||||||
|
struct rootfs *fs = _fs;
|
||||||
struct rootfs_vnode *vnode = _v;
|
struct rootfs_vnode *vnode = _v;
|
||||||
|
|
||||||
TRACE(("rootfs_rstat: vnode %p (0x%Lx), stat %p\n", vnode, vnode->id, stat));
|
TRACE(("rootfs_rstat: vnode %p (0x%Lx), stat %p\n", vnode, vnode->id, stat));
|
||||||
|
|
||||||
// stream exists, but we know to return size 0, since we can only hold directories
|
// stream exists, but we know to return size 0, since we can only hold directories
|
||||||
|
stat->st_dev = fs->id;
|
||||||
stat->st_ino = vnode->id;
|
stat->st_ino = vnode->id;
|
||||||
stat->st_size = 0;
|
stat->st_size = 0;
|
||||||
stat->st_mode = vnode->stream.type | DEFFILEMODE;
|
stat->st_mode = vnode->stream.type | DEFFILEMODE;
|
||||||
|
Loading…
Reference in New Issue
Block a user