Rev 4551 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 4551 | Rev 4566 | ||
---|---|---|---|
Line 50... | Line 50... | ||
50 | #include <as.h> |
50 | #include <as.h> |
51 | #include <assert.h> |
51 | #include <assert.h> |
52 | #include <atomic.h> |
52 | #include <atomic.h> |
53 | #include "vfs.h" |
53 | #include "vfs.h" |
54 | 54 | ||
- | 55 | FIBRIL_CONDVAR_INITIALIZE(fs_head_cv); |
|
55 | FIBRIL_MUTEX_INITIALIZE(fs_head_lock); |
56 | FIBRIL_MUTEX_INITIALIZE(fs_head_lock); |
56 | link_t fs_head; |
57 | LIST_INITIALIZE(fs_head); |
57 | 58 | ||
58 | atomic_t fs_handle_next = { |
59 | atomic_t fs_handle_next = { |
59 | .count = 1 |
60 | .count = 1 |
60 | }; |
61 | }; |
61 | 62 | ||
Line 266... | Line 267... | ||
266 | * system a global file system handle. |
267 | * system a global file system handle. |
267 | */ |
268 | */ |
268 | fs_info->fs_handle = (fs_handle_t) atomic_postinc(&fs_handle_next); |
269 | fs_info->fs_handle = (fs_handle_t) atomic_postinc(&fs_handle_next); |
269 | ipc_answer_1(rid, EOK, (ipcarg_t) fs_info->fs_handle); |
270 | ipc_answer_1(rid, EOK, (ipcarg_t) fs_info->fs_handle); |
270 | 271 | ||
271 | pending_new_fs = true; |
- | |
272 | fibril_condvar_signal(&pending_cv); |
272 | fibril_condvar_signal(&fs_head_cv); |
273 | fibril_mutex_unlock(&fs_head_lock); |
273 | fibril_mutex_unlock(&fs_head_lock); |
274 | 274 | ||
275 | dprintf("\"%.*s\" filesystem successfully registered, handle=%d.\n", |
275 | dprintf("\"%.*s\" filesystem successfully registered, handle=%d.\n", |
276 | FS_NAME_MAXLEN, fs_info->vfs_info.name, fs_info->fs_handle); |
276 | FS_NAME_MAXLEN, fs_info->vfs_info.name, fs_info->fs_handle); |
277 | } |
277 | } |