Subversion Repositories HelenOS

Rev

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

Rev 2666 Rev 2679
Line 132... Line 132...
132
 */
132
 */
133
typedef struct {
133
typedef struct {
134
    VFS_TRIPLET;        /**< Identity of the node. */
134
    VFS_TRIPLET;        /**< Identity of the node. */
135
    unsigned refcnt;    /**< Usage counter. */
135
    unsigned refcnt;    /**< Usage counter. */
136
    link_t nh_link;     /**< Node hash-table link. */
136
    link_t nh_link;     /**< Node hash-table link. */
-
 
137
 
-
 
138
    /** Holding this futex prevents modifications of the node's contents. */
-
 
139
    atomic_t contents_futex;
137
} vfs_node_t;
140
} vfs_node_t;
138
 
141
 
139
/**
142
/**
140
 * Instances of this type represent an open file. If the file is opened by more
143
 * Instances of this type represent an open file. If the file is opened by more
141
 * than one task, there will be a separate structure allocated for each task.
144
 * than one task, there will be a separate structure allocated for each task.
Line 167... Line 170...
167
 
170
 
168
extern atomic_t plb_futex;  /**< Futex protecting plb and plb_head. */
171
extern atomic_t plb_futex;  /**< Futex protecting plb and plb_head. */
169
extern uint8_t *plb;        /**< Path Lookup Buffer */
172
extern uint8_t *plb;        /**< Path Lookup Buffer */
170
extern link_t plb_head;     /**< List of active PLB entries. */
173
extern link_t plb_head;     /**< List of active PLB entries. */
171
 
174
 
172
extern atomic_t unlink_futex;   /**< VFS_{CREATE|OPEN|UNLINK} serialization. */
175
/** Holding this futex prevents extern changes in file system namespace. */
-
 
176
atomic_t namespace_futex;
173
 
177
 
174
extern int vfs_grab_phone(int);
178
extern int vfs_grab_phone(int);
175
extern void vfs_release_phone(int);
179
extern void vfs_release_phone(int);
176
 
180
 
177
extern int fs_name_to_handle(char *, bool);
181
extern int fs_name_to_handle(char *, bool);