Subversion Repositories HelenOS

Rev

Rev 4509 | Rev 4555 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 4509 Rev 4518
Line 37... Line 37...
37
 
37
 
38
#include "vfs.h"
38
#include "vfs.h"
39
#include <stdlib.h>
39
#include <stdlib.h>
40
#include <string.h>
40
#include <string.h>
41
#include <futex.h>
41
#include <futex.h>
42
#include <rwlock.h>
42
#include <fibril_sync.h>
43
#include <adt/hash_table.h>
43
#include <adt/hash_table.h>
44
#include <assert.h>
44
#include <assert.h>
45
#include <async.h>
45
#include <async.h>
46
#include <errno.h>
46
#include <errno.h>
47
 
47
 
Line 175... Line 175...
175
        node->index = result->triplet.index;
175
        node->index = result->triplet.index;
176
        node->size = result->size;
176
        node->size = result->size;
177
        node->lnkcnt = result->lnkcnt;
177
        node->lnkcnt = result->lnkcnt;
178
        node->type = result->type;
178
        node->type = result->type;
179
        link_initialize(&node->nh_link);
179
        link_initialize(&node->nh_link);
180
        rwlock_initialize(&node->contents_rwlock);
180
        fibril_rwlock_initialize(&node->contents_rwlock);
181
        hash_table_insert(&nodes, key, &node->nh_link);
181
        hash_table_insert(&nodes, key, &node->nh_link);
182
    } else {
182
    } else {
183
        node = hash_table_get_instance(tmp, vfs_node_t, nh_link);
183
        node = hash_table_get_instance(tmp, vfs_node_t, nh_link);
184
        if (node->type == VFS_NODE_UNKNOWN &&
184
        if (node->type == VFS_NODE_UNKNOWN &&
185
            result->type != VFS_NODE_UNKNOWN) {
185
            result->type != VFS_NODE_UNKNOWN) {