4584 |
5686 d 4 h |
jermar |
/trunk/uspace/ |
Separate the VFS input and output protocols. |
|
4555 |
5696 d 19 h |
jermar |
/trunk/uspace/srv/vfs/ |
Finish converting VFS to fibril synchronization. |
|
4518 |
5704 d 19 h |
jermar |
/trunk/uspace/srv/vfs/ |
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. |
|
4509 |
5706 d 4 h |
decky |
/trunk/uspace/ |
rename libadt -> adt |
|
4463 |
5710 d 23 h |
decky |
/trunk/uspace/srv/vfs/ |
VFS rewrite:
- add new VFS methods
- VFS_NODE for getting VFS node for a file descriptor
- VFS_OPEN_NODE for opening an i-node directly
- VFS_DEVICE for getting the underlying device of a file (if any)
- VFS_SYNC for syncing buffers
- L_OPEN flag is set to underlying filesystem in VFS_LOOKUP when opening a file to support initialization (if any)
- VFS_CLOSE is now propagated to underlying filesystem to support cleanup (if any) |
|
3653 |
5897 d 2 h |
jermar |
/trunk/uspace/srv/vfs/ |
Hold the namespace_rwlock during readdir(). |
|
2766 |
6161 d 22 h |
jermar |
/trunk/uspace/srv/vfs/ |
Grab the nodes_futex when manipulating node link counts in rename() and
_unlink().
Fix VFS futex definitions and declarations by replacing atomic_t by futex_t. |
|
2742 |
6174 d 19 h |
jermar |
/trunk/uspace/srv/ |
Separate creation of a TMPFS node and its linking in the file system name space.
Rename VFS_FREE to VFS_DESTROY and destroy_node() to unlink_node(). |
|
2740 |
6180 d 20 h |
jermar |
/trunk/uspace/srv/vfs/ |
Initialize the VFS node properly. |
|
2731 |
6183 d 4 h |
jermar |
/trunk/uspace/srv/ |
Add the VFS_FREE operation. This operation frees up whatever resources used by
a file system node for which there is no name (i.e. an unlinked node).
Cleanup VFS operations enums and remove unneeded VFS operations. |
|
2730 |
6184 d 6 h |
jermar |
/trunk/uspace/srv/ |
Introduce the notion of VFS node link counts. |
|
2691 |
6221 d 22 h |
jermar |
/trunk/uspace/srv/vfs/ |
Improve the API for converting (VFS triplets, size) to VFS nodes by introducing
a new type for results of vfs_lookup_internal(). |
|
2687 |
6222 d 21 h |
jermar |
/trunk/uspace/srv/ |
Management of the cached VFS node size. |
|
2680 |
6225 d 5 h |
jermar |
/trunk/uspace/ |
Add basic rwlock API for uspace so that VFS can be designed/implemented using
this API. So far, the implementation of this API merely wraps futexes into
rwlocks. Real rwlocks are wanted by ticket #54.
Using the new rwlock API, replace the VFS node content futex with an rwlock.
Lock the contents rwlock as reader on reads and as writer on writes. |
|
2679 |
6228 d 21 h |
jermar |
/trunk/uspace/srv/vfs/ |
Rename unlink_futex to namespace_futex and introduce a new futex for serializing
concurrent access to a VFS node's contents by multiple clients. |
|
2652 |
6243 d 1 h |
jermar |
/trunk/uspace/srv/vfs/ |
VFS work.
Fix VFS node hash function to hash only within the limits of its supposed
ranges. |
|
2596 |
6286 d 0 h |
jermar |
/trunk/uspace/srv/vfs/ |
VFS work.
Implement VFS node hash table management. |
|
2593 |
6287 d 22 h |
jermar |
/trunk/uspace/srv/vfs/ |
A lot of more VFS prototyping.
VFS_OPEN gets reasonably complete, fix a limitation that prevented file
structures from being shared by multiple file descriptors, add functions for
file descriptor management, introduce unlink_futex and two new VFS operations
VFS_UNLINK and VFS_RENAME. |
|
2590 |
6289 d 0 h |
jermar |
/trunk/uspace/srv/vfs/ |
VFS work.
Start implementing VFS side of VFS_OPEN.
Add vfs_node.c to contain VFS node related internal functions. |
|