Changeset 230260ac in mainline for uspace/srv/vfs/vfs.h


Ignore:
Timestamp:
2009-06-09T22:27:43Z (16 years ago)
Author:
Jakub Jermar <jakub@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
0e31a2b
Parents:
041186f
Message:

Make VFS use the new synchronization for fibrils. Now there should be no (or
only secondary) fibril serialization. Code reorganized not to hold the phone
lock during async_wait_for() in most cases. Tested on ia32. On amd64, VFS
crashes, but I think it is an unrelated problem.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/srv/vfs/vfs.h

    r041186f r230260ac  
    3636#include <ipc/ipc.h>
    3737#include <adt/list.h>
     38#include <fibril_sync.h>
    3839#include <futex.h>
    39 #include <rwlock.h>
    4040#include <sys/types.h>
    4141#include <devmap.h>
     
    5555        vfs_info_t vfs_info;
    5656        fs_handle_t fs_handle;
    57         futex_t phone_futex;    /**< Phone serializing futex. */
     57        fibril_mutex_t phone_lock;
    5858        ipcarg_t phone;
    5959} fs_info_t;
     
    123123         * Holding this rwlock prevents modifications of the node's contents.
    124124         */
    125         rwlock_t contents_rwlock;
     125        fibril_rwlock_t contents_rwlock;
    126126} vfs_node_t;
    127127
     
    132132typedef struct {
    133133        /** Serializes access to this open file. */
    134         futex_t lock;
     134        fibril_mutex_t lock;
    135135
    136136        vfs_node_t *node;
     
    166166
    167167/** Holding this rwlock prevents changes in file system namespace. */
    168 extern rwlock_t namespace_rwlock;
     168extern fibril_rwlock_t namespace_rwlock;
    169169
    170170extern int vfs_grab_phone(fs_handle_t);
Note: See TracChangeset for help on using the changeset viewer.