Rev |
Age |
Author |
Path |
Log message |
Diff |
Changes |
2693 |
6146 d 5 h |
jermar |
/trunk/uspace/ |
Add ftruncate() and support for VFS_TRUNCATE to VFS and TMPFS. |
|
/trunk/uspace/lib/libc/generic/vfs.c /trunk/uspace/lib/libc/include/unistd.h /trunk/uspace/srv/fs/tmpfs/tmpfs.h /trunk/uspace/srv/fs/tmpfs/tmpfs_ops.c /trunk/uspace/srv/vfs/vfs.c /trunk/uspace/srv/vfs/vfs.h /trunk/uspace/srv/vfs/vfs_ops.c
|
2691 |
6149 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(). |
|
/trunk/uspace/srv/vfs/vfs.h /trunk/uspace/srv/vfs/vfs_node.c /trunk/uspace/srv/vfs/vfs_ops.c
|
2690 |
6150 d 20 h |
jermar |
/trunk/uspace/srv/ |
Make a distinction between VFS operations that are common to VFS and FS
implementations, operations that are VFS only and operations that are FS
implementations only. |
|
/trunk/uspace/srv/fs/fat/fat.c /trunk/uspace/srv/fs/tmpfs/tmpfs.c /trunk/uspace/srv/vfs/vfs.c /trunk/uspace/srv/vfs/vfs.h /trunk/uspace/srv/vfs/vfs_ops.c
|
2689 |
6150 d 21 h |
jermar |
/trunk/uspace/srv/vfs/ |
Merge all VFS operations into one file. |
|
/trunk/uspace/srv/vfs/vfs_ops.c
/trunk/uspace/srv/vfs/vfs_lookup.c /trunk/uspace/srv/vfs/vfs_mount.c /trunk/uspace/srv/vfs/vfs_open.c /trunk/uspace/srv/vfs/vfs_rdwr.c /trunk/uspace/srv/vfs/vfs_register.c /trunk/uspace/srv/vfs/vfs_unlink.c
/trunk/uspace/srv/vfs/Makefile
|
2688 |
6150 d 21 h |
jermar |
/trunk/uspace/ |
Make uspace rwlock API naming conventions consistent with kernel rwlock API. |
|
/trunk/uspace/lib/libc/include/rwlock.h /trunk/uspace/srv/vfs/vfs_mount.c /trunk/uspace/srv/vfs/vfs_open.c /trunk/uspace/srv/vfs/vfs_rdwr.c
|
2687 |
6150 d 21 h |
jermar |
/trunk/uspace/srv/ |
Management of the cached VFS node size. |
|
/trunk/uspace/srv/fs/tmpfs/tmpfs_ops.c /trunk/uspace/srv/vfs/vfs.h /trunk/uspace/srv/vfs/vfs_lookup.c /trunk/uspace/srv/vfs/vfs_mount.c /trunk/uspace/srv/vfs/vfs_node.c /trunk/uspace/srv/vfs/vfs_open.c /trunk/uspace/srv/vfs/vfs_rdwr.c
|
2686 |
6150 d 22 h |
jermar |
/trunk/uspace/srv/fs/tmpfs/ |
Previous commit was toxic. When emulating gaps, zero out the reallocated buffer, not the original one. |
|
/trunk/uspace/srv/fs/tmpfs/tmpfs_ops.c
|
2685 |
6150 d 23 h |
jermar |
/trunk/uspace/srv/fs/tmpfs/ |
TMPFS must handle file gaps. |
|
/trunk/uspace/srv/fs/tmpfs/tmpfs_ops.c
|
2684 |
6152 d 22 h |
jermar |
/trunk/ |
Add libc and VFS implementation of lseek(), VFS_SEEK resp.
Add the size member to the VFS node structure (not yet initialized). |
|
/trunk/kernel/generic/include/errno.h /trunk/uspace/lib/libc/generic/vfs.c /trunk/uspace/lib/libc/include/unistd.h /trunk/uspace/srv/vfs/vfs.c /trunk/uspace/srv/vfs/vfs.h /trunk/uspace/srv/vfs/vfs_rdwr.c
|
2683 |
6153 d 1 h |
jermar |
/trunk/uspace/srv/vfs/ |
Introduce the open file lock. Modify vfs_rdwr() to take this lock into account
when reading or writing from/to an open file. |
|
/trunk/uspace/srv/vfs/vfs.h /trunk/uspace/srv/vfs/vfs_file.c /trunk/uspace/srv/vfs/vfs_rdwr.c
|
2682 |
6153 d 4 h |
jermar |
/trunk/uspace/ |
Fix type in declaration of VFS node rwlock.
Introduce a dedicated type for futexes. Make the existing futex code use this
newly introduced type and fix formatting in futex.c. |
|
/trunk/uspace/lib/libc/generic/futex.c /trunk/uspace/lib/libc/include/futex.h /trunk/uspace/srv/vfs/vfs.h
|
2681 |
6153 d 5 h |
jermar |
/trunk/uspace/ |
Turn the namespace futex into rwlock. |
|
/trunk/uspace/lib/libc/include/rwlock.h /trunk/uspace/srv/vfs/vfs.h /trunk/uspace/srv/vfs/vfs_mount.c /trunk/uspace/srv/vfs/vfs_open.c /trunk/uspace/srv/vfs/vfs_unlink.c
|
2680 |
6153 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. |
|
/trunk/uspace/lib/libc/include/rwlock.h
/trunk/uspace/srv/vfs/vfs.h /trunk/uspace/srv/vfs/vfs_node.c /trunk/uspace/srv/vfs/vfs_rdwr.c
|
2679 |
6156 d 22 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. |
|
/trunk/uspace/srv/vfs/vfs.h /trunk/uspace/srv/vfs/vfs_mount.c /trunk/uspace/srv/vfs/vfs_node.c /trunk/uspace/srv/vfs/vfs_open.c /trunk/uspace/srv/vfs/vfs_rdwr.c /trunk/uspace/srv/vfs/vfs_unlink.c
|
2678 |
6159 d 1 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. |
|
/trunk/uspace/app/klog/klog.c /trunk/uspace/app/tester/devmap/devmap1.c /trunk/uspace/lib/libc/generic/ipc.c /trunk/uspace/lib/libc/generic/time.c /trunk/uspace/lib/libc/generic/vfs.c /trunk/uspace/lib/libc/include/ipc/ipc.h /trunk/uspace/lib/libfs/libfs.c /trunk/uspace/srv/console/console.c /trunk/uspace/srv/console/gcons.c /trunk/uspace/srv/devmap/devmap.c /trunk/uspace/srv/fs/tmpfs/tmpfs_ops.c /trunk/uspace/srv/rd/rd.c /trunk/uspace/srv/vfs/vfs_mount.c /trunk/uspace/srv/vfs/vfs_open.c /trunk/uspace/srv/vfs/vfs_register.c
|
2677 |
6159 d 1 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. |
|
/trunk/kernel/generic/include/ipc/ipc.h /trunk/kernel/generic/src/ipc/sysipc.c /trunk/uspace/app/klog/klog.c /trunk/uspace/lib/libc/generic/ipc.c /trunk/uspace/lib/libc/generic/time.c /trunk/uspace/lib/libc/include/ipc/ipc.h /trunk/uspace/lib/libfs/libfs.c /trunk/uspace/srv/console/console.c /trunk/uspace/srv/console/gcons.c /trunk/uspace/srv/fb/ega.c /trunk/uspace/srv/fb/fb.c /trunk/uspace/srv/ns/ns.c /trunk/uspace/srv/rd/rd.c /trunk/uspace/srv/vfs/vfs_register.c
|
2676 |
6159 d 8 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. |
|
/trunk/kernel/generic/include/ipc/ipc.h /trunk/kernel/generic/src/ipc/sysipc.c /trunk/uspace/lib/libc/generic/ipc.c /trunk/uspace/lib/libc/include/ipc/ipc.h /trunk/uspace/srv/devmap/devmap.c /trunk/uspace/srv/fs/tmpfs/tmpfs_ops.c /trunk/uspace/srv/vfs/vfs_mount.c /trunk/uspace/srv/vfs/vfs_open.c /trunk/uspace/srv/vfs/vfs_rdwr.c /trunk/uspace/srv/vfs/vfs_register.c
|
2675 |
6159 d 20 h |
jermar |
/trunk/uspace/lib/libc/generic/ |
Actually use the nbyte argument in both read() and write().
Fix warnings in read() and write(). |
|
/trunk/uspace/lib/libc/generic/vfs.c
|
2674 |
6159 d 21 h |
jermar |
/trunk/uspace/ |
Add libc VFS wrapper for VFS_WRITE. Fix a small bug in read(). Place open(),
read() and write() declarations in their respective headers according to SUSv3. |
|
/trunk/uspace/lib/libc/include/fcntl.h
/trunk/uspace/app/tester/vfs/vfs1.c /trunk/uspace/lib/libc/generic/vfs.c /trunk/uspace/lib/libc/include/vfs.h
|
2673 |
6159 d 21 h |
jermar |
/trunk/uspace/srv/fs/tmpfs/ |
Rename variable from 'size' to 'len'. |
|
/trunk/uspace/srv/fs/tmpfs/tmpfs_ops.c
|