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 | */ |