Rev 4419 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 4419 | Rev 4537 | ||
---|---|---|---|
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 <libadt/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 | ||
48 | /** Futex protecting the VFS node hash table. */ |
48 | /** Futex protecting the VFS node hash table. */ |
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) { |
186 | /* Upgrade the node type. */ |
186 | /* Upgrade the node type. */ |
187 | node->type = result->type; |
187 | node->type = result->type; |
188 | } |
188 | } |
Line 231... | Line 231... | ||
231 | { |
231 | { |
232 | } |
232 | } |
233 | 233 | ||
234 | /** |
234 | /** |
235 | * @} |
235 | * @} |
236 | */ |
236 | */ |