Rev |
Age |
Author |
Path |
Log message |
Diff |
2680 |
6115 d 22 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 |
6119 d 15 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. |
|
2678 |
6121 d 18 h |
jermar |
/trunk/uspace/ |
The IPC_M_SHARE_* and IPC_M_DATA_* calls pass through 3 stages. Rename the send,
receive and deliver wrappers to names ending with 'start', 'receive' and
'finalize', respectively. This should make it clearer for dummies. |
|
2677 |
6121 d 19 h |
jermar |
/trunk/ |
Rename IPC_M_AS_AREA_SEND to IPC_M_SHARE_OUT. Rename IPC_M_AS_AREA_RECV to
IPC_M_SHARE_IN. Provide user-friendly wrappers for these methods so that even
dummies can get it right. Some applications using simpler protocols still use
these methods directly. |
|
2676 |
6122 d 1 h |
jermar |
/trunk/ |
Simplify the IPC_M_DATA_WRITE protocol. Do not pass the source address space
virtual address to the recipient. This feature was not used anyway. Now
IPC_M_DATA_WRITE and IPC_M_DATA_READ are feature-aligned. |
|
2673 |
6122 d 14 h |
jermar |
/trunk/uspace/srv/fs/tmpfs/ |
Rename variable from 'size' to 'len'. |
|
2667 |
6127 d 10 h |
jermar |
/trunk/uspace/srv/fs/tmpfs/ |
The previous commit was not entirely sane.
Handle VFS_WRITE correctly when the file doesn't grow.
Handle it correctly also when the file grows. |
|
2666 |
6127 d 15 h |
jermar |
/trunk/uspace/srv/ |
VFS and TMPFS support for VFS_WRITE. |
|
2664 |
6129 d 13 h |
jermar |
/trunk/uspace/srv/fs/tmpfs/ |
Fix two bugs in TMPFS-side VFS_READ. |
|
2663 |
6129 d 14 h |
jermar |
/trunk/uspace/ |
Reimplement VFS_READ using IPC_M_DATA_READ. |
|
2660 |
6129 d 16 h |
jermar |
/trunk/ |
Rename IPC_M_DATA_SEND to IPC_M_DATA_WRITE. Now, when we also add
IPC_M_DATA_READ, it will not clash and cause confusion with userspace wrappers
such as ipc_data_receive(). Rename the forementioned wrappers to
ipc_data_write_send(), ipc_data_write_receive() and ipc_data_write_deliver(). |
|
2659 |
6130 d 12 h |
jermar |
/trunk/uspace/srv/vfs/ |
After VFS_READ, update the position pointer in the open file. |
|
2658 |
6130 d 12 h |
jermar |
/trunk/uspace/srv/ |
VFS work.
Foundation for TMPFS-side VFS_READ and fixes in VFS-side VFS_READ. |
|
2657 |
6130 d 15 h |
jermar |
/trunk/uspace/ |
VFS work.
Cleaner VFS_MOUNT protocol. |
|
2655 |
6133 d 18 h |
jermar |
/trunk/uspace/srv/fs/tmpfs/ |
TMPFS work.
VFS_LOOKUP implemented. |
|
2654 |
6133 d 18 h |
jermar |
/trunk/uspace/srv/vfs/ |
VFS work.
Don't hang up the connection to VFS after VFS_MOUNT. |
|
2653 |
6133 d 18 h |
jermar |
/trunk/uspace/srv/vfs/ |
VFS work.
Index of the last PLB character of a pathname was not correctly calculated. |
|
2652 |
6133 d 18 h |
jermar |
/trunk/uspace/srv/vfs/ |
VFS work.
Fix VFS node hash function to hash only within the limits of its supposed
ranges. |
|
2651 |
6133 d 19 h |
jermar |
/trunk/uspace/srv/vfs/ |
VFS work. Releas the FS phone earlier. |
|
2650 |
6133 d 19 h |
jermar |
/trunk/uspace/srv/vfs/ |
VFS work. FS info futex must be initialized. |
|
2645 |
6136 d 18 h |
jermar |
/trunk/uspace/ |
Start TMPFS.
Not loaded during boot as there is a reproducible kernel panic which occurs when
both tmpfs and fat are loaded. |
|
2644 |
6136 d 18 h |
jermar |
/trunk/uspace/ |
Move incomplete fs interface from fat.h to libfs. |
|
2643 |
6136 d 19 h |
jermar |
/trunk/uspace/ |
VFS work.
Move FS registration code to libfs. |
|
2641 |
6138 d 17 h |
jermar |
/trunk/uspace/srv/vfs/ |
VFS work.
During VFS_REGISTER, use strncmp() instead of strcmp().
Add one excessive convenience byte to vfs_info.name to support the
above-mentioned change. In case the fs name spans all available
characters, make sure this convenience byte is zero. |
|
2639 |
6147 d 13 h |
jermar |
/trunk/uspace/srv/fs/fat/ |
FAT work.
Foundation for FAT dentry comparison function.
Beware of looking at the diff or risk loosing sanity. |
|
2638 |
6148 d 15 h |
jermar |
/trunk/ |
Sync IPC comments with IPC code. |
|
2637 |
6148 d 15 h |
cejka |
/trunk/ |
Extended IPC_M_CONNECT_TO_ME to use 3 user defined parameters.
Phone identifier is passed in ARG5. |
|
2635 |
6150 d 15 h |
cejka |
/trunk/ |
Function ipc_connect_me_to sends 3 user defined arguments now.
One argument added also to ipc_forward_fast.
Fixed devmap and improved its test. |
|
2629 |
6157 d 14 h |
jermar |
/trunk/uspace/srv/fs/fat/ |
FAT work.
Add type describing FAT directory entry. |
|
2628 |
6157 d 15 h |
jermar |
/trunk/uspace/srv/fs/fat/ |
FAT work.
Add type describing FAT boot sector. |
|
2627 |
6157 d 16 h |
jermar |
/trunk/uspace/srv/fs/fat/ |
FAT work.
Start VFS_LOOKUP support in FAT. |
|
2625 |
6158 d 17 h |
jermar |
/trunk/uspace/srv/vfs/ |
VFS work.
Proto implementation of VFS_READ. |
|
2624 |
6158 d 17 h |
jermar |
/trunk/uspace/srv/vfs/ |
Add sanity checks to functions using file descriptors as indices into files. |
|
2622 |
6158 d 21 h |
jermar |
/trunk/ |
Add mode argument to IPC forward.
This argument can be used to modify the way forward behaves. |
|
2621 |
6160 d 19 h |
jermar |
/trunk/uspace/ |
Modify the async framework to make use of all six syscall arguments.
Supply user-friendly macros as in previous cases. |
|
2619 |
6162 d 14 h |
jermar |
/trunk/ |
Modify ipc_answer_*() to make use of all six syscall arguments. The recommended
means of answering calls is via the ipc_answer_m() macros (where m denotes the
number of return arguments) that automatically decide between the fast register
version or the slow universal version of ipc_answer(). |
|
2618 |
6163 d 2 h |
jermar |
/trunk/ |
Modify asynchronous IPC to make use of all six syscall arguments. The preferred
means of asynchronous communication is now via the set of ipc_call_async_m()
macros, where m is the number of payload arguments passed to the kernel. These
macros will automatically decide between the fast and the universal slow version
of ipc_call_async. |
|
2615 |
6163 d 23 h |
jermar |
/trunk/ |
Modify synchronous IPC to make use of all six syscall arguments. The preferred
means of synchronous communication is now via the set of ipc_call_sync_m_n()
macros, where m is the number of payload arguments passed to the kernel and n is
the number of return values. These macros will automatically decide between the
fast and the universal slow version of ipc_call_sync. |
|
2600 |
6171 d 22 h |
jermar |
/trunk/uspace/srv/vfs/ |
VFS work.
vfs_grab_phone() must disable fibril preemption in order to avoid deadlock with
other fibrils of the same thread that might be trying to vfs_grab_phone() too. |
|
2598 |
6174 d 2 h |
jermar |
/trunk/uspace/srv/devmap/ |
Cstyle fixes. |
|