Rev |
Age |
Author |
Path |
Log message |
Diff |
Changes |
2679 |
6074 d 5 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 |
6076 d 8 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 |
6076 d 9 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 |
6076 d 15 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 |
6077 d 4 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 |
6077 d 4 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 |
6077 d 4 h |
jermar |
/trunk/uspace/srv/fs/tmpfs/ |
Rename variable from 'size' to 'len'. |
|
/trunk/uspace/srv/fs/tmpfs/tmpfs_ops.c
|
2672 |
6077 d 4 h |
jermar |
/trunk/uspace/app/tester/vfs/ |
Use libc's VFS wrappers instead of direct communication with VFS. |
|
/trunk/uspace/app/tester/vfs/vfs1.c
|
2671 |
6077 d 4 h |
jermar |
/trunk/uspace/lib/libc/ |
Add VFS wrappers for VFS_MOUNT, VFS_OPEN and VFS_READ to libc. |
|
/trunk/uspace/lib/libc/generic/vfs.c /trunk/uspace/lib/libc/include/vfs.h
/trunk/uspace/lib/libc/Makefile
|
2670 |
6081 d 3 h |
jermar |
/trunk/uspace/ |
Move the open(), read() and write() provided by streams.c away so that
these functions won't clash with the real open(), read() and write(), which are
soon to be provided by a libvfs library. Applications can now use open_stdin(),
open_stdout(), read_stdin() and write_stdout(). Later, there might be an option
of providing a custom console file system, which will work similarly to how
streams' open(), read() and write() worked. |
|
/trunk/uspace/app/tetris/screen.c /trunk/uspace/lib/libc/generic/io/io.c /trunk/uspace/lib/libc/generic/io/stream.c /trunk/uspace/lib/libc/generic/io/vprintf.c /trunk/uspace/lib/libc/generic/libc.c /trunk/uspace/lib/libc/include/io/stream.h
|
2669 |
6081 d 4 h |
jermar |
/trunk/uspace/lib/libc/generic/io/ |
Remove file.c. |
|
/trunk/uspace/lib/libc/generic/io/file.c
|
2668 |
6081 d 4 h |
jermar |
/trunk/uspace/lib/libc/include/io/ |
Remove file.h. |
|
/trunk/uspace/lib/libc/include/io/file.h
|
2667 |
6082 d 1 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. |
|
/trunk/uspace/srv/fs/tmpfs/tmpfs_ops.c
|
2666 |
6082 d 5 h |
jermar |
/trunk/uspace/srv/ |
VFS and TMPFS support for VFS_WRITE. |
|
/trunk/uspace/srv/vfs/vfs_rdwr.c
/trunk/uspace/srv/vfs/vfs_read.c
/trunk/uspace/srv/fs/tmpfs/tmpfs.h /trunk/uspace/srv/fs/tmpfs/tmpfs_ops.c /trunk/uspace/srv/vfs/Makefile /trunk/uspace/srv/vfs/vfs.c /trunk/uspace/srv/vfs/vfs.h
|
2665 |
6084 d 3 h |
jermar |
/trunk/uspace/app/tester/vfs/ |
The vfs1 test now reads a file on a TMPFS file system. |
|
/trunk/uspace/app/tester/vfs/vfs1.c
|
2664 |
6084 d 3 h |
jermar |
/trunk/uspace/srv/fs/tmpfs/ |
Fix two bugs in TMPFS-side VFS_READ. |
|
/trunk/uspace/srv/fs/tmpfs/tmpfs_ops.c
|
2663 |
6084 d 4 h |
jermar |
/trunk/uspace/ |
Reimplement VFS_READ using IPC_M_DATA_READ. |
|
/trunk/uspace/lib/libc/generic/ipc.c /trunk/uspace/srv/fs/tmpfs/tmpfs_ops.c /trunk/uspace/srv/vfs/vfs_read.c
|
2662 |
6084 d 4 h |
jermar |
/trunk/ |
Add support for IPC_M_DATA_READ calls. |
|
/trunk/kernel/generic/include/ipc/ipc.h /trunk/kernel/generic/src/ipc/ipc.c /trunk/kernel/generic/src/ipc/sysipc.c /trunk/uspace/lib/libc/generic/ipc.c /trunk/uspace/lib/libc/include/ipc/ipc.h
|
2661 |
6084 d 5 h |
jermar |
/trunk/kernel/generic/src/ipc/ |
Release the IPC_M_DATA_WRITE buffer even if the write is refused by the
recipient. |
|
/trunk/kernel/generic/src/ipc/sysipc.c
|
2660 |
6084 d 6 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(). |
|
/trunk/kernel/generic/include/ipc/ipc.h /trunk/kernel/generic/src/ipc/sysipc.c /trunk/uspace/app/tester/devmap/devmap1.c /trunk/uspace/app/tester/vfs/vfs1.c /trunk/uspace/lib/libc/generic/ipc.c /trunk/uspace/lib/libc/include/ipc/ipc.h /trunk/uspace/lib/libfs/libfs.c /trunk/uspace/srv/devmap/devmap.c /trunk/uspace/srv/vfs/vfs_mount.c /trunk/uspace/srv/vfs/vfs_open.c /trunk/uspace/srv/vfs/vfs_register.c
|
2659 |
6085 d 2 h |
jermar |
/trunk/uspace/srv/vfs/ |
After VFS_READ, update the position pointer in the open file. |
|
/trunk/uspace/srv/vfs/vfs_read.c
|
2658 |
6085 d 2 h |
jermar |
/trunk/uspace/srv/ |
VFS work.
Foundation for TMPFS-side VFS_READ and fixes in VFS-side VFS_READ. |
|
/trunk/uspace/srv/fs/tmpfs/tmpfs.c /trunk/uspace/srv/fs/tmpfs/tmpfs.h /trunk/uspace/srv/fs/tmpfs/tmpfs_ops.c /trunk/uspace/srv/vfs/vfs_read.c
|
2657 |
6085 d 5 h |
jermar |
/trunk/uspace/ |
VFS work.
Cleaner VFS_MOUNT protocol. |
|
/trunk/uspace/app/tester/vfs/vfs1.c /trunk/uspace/srv/vfs/vfs_mount.c
|
2656 |
6088 d 8 h |
jermar |
/trunk/uspace/app/tester/ |
Add a simple test of VFS_MOUNT and VFS_OPEN to tester. |
|
/trunk/uspace/app/tester/vfs /trunk/uspace/app/tester/vfs/vfs1.c /trunk/uspace/app/tester/vfs/vfs1.def
/trunk/uspace/app/tester/Makefile /trunk/uspace/app/tester/tester.c /trunk/uspace/app/tester/tester.h
|
2655 |
6088 d 8 h |
jermar |
/trunk/uspace/srv/fs/tmpfs/ |
TMPFS work.
VFS_LOOKUP implemented. |
|
/trunk/uspace/srv/fs/tmpfs/tmpfs.h /trunk/uspace/srv/fs/tmpfs/tmpfs_ops.c
|
2654 |
6088 d 8 h |
jermar |
/trunk/uspace/srv/vfs/ |
VFS work.
Don't hang up the connection to VFS after VFS_MOUNT. |
|
/trunk/uspace/srv/vfs/vfs.c
|
2653 |
6088 d 8 h |
jermar |
/trunk/uspace/srv/vfs/ |
VFS work.
Index of the last PLB character of a pathname was not correctly calculated. |
|
/trunk/uspace/srv/vfs/vfs_lookup.c
|
2652 |
6088 d 9 h |
jermar |
/trunk/uspace/srv/vfs/ |
VFS work.
Fix VFS node hash function to hash only within the limits of its supposed
ranges. |
|
/trunk/uspace/srv/vfs/vfs_node.c
|
2651 |
6088 d 9 h |
jermar |
/trunk/uspace/srv/vfs/ |
VFS work. Releas the FS phone earlier. |
|
/trunk/uspace/srv/vfs/vfs_mount.c
|
2650 |
6088 d 9 h |
jermar |
/trunk/uspace/srv/vfs/ |
VFS work. FS info futex must be initialized. |
|
/trunk/uspace/srv/vfs/vfs_register.c
|
2649 |
6090 d 18 h |
jermar |
/trunk/boot/arch/ |
Enable tmpfs in arm32, ia32xen, ia64, ppc32, ppc64 and sparc64. |
|
/trunk/boot/arch/arm32/loader/Makefile /trunk/boot/arch/ia32xen/Makefile.inc /trunk/boot/arch/ia32xen/grub/menu.lst /trunk/boot/arch/ia64/loader/Makefile /trunk/boot/arch/ppc32/loader/Makefile /trunk/boot/arch/ppc64/loader/Makefile /trunk/boot/arch/sparc64/loader/Makefile
|
2648 |
6091 d 6 h |
jermar |
/trunk/boot/arch/ |
Added support for tmpfs loading to amd64, ia32 and mips32.
Added support for devmap loading to amd64. |
|
/trunk/boot/arch/amd64/Makefile.inc /trunk/boot/arch/amd64/grub/menu.lst /trunk/boot/arch/ia32/Makefile.inc /trunk/boot/arch/ia32/grub/menu.lst /trunk/boot/arch/mips32/loader/Makefile
|
2647 |
6091 d 7 h |
jermar |
/trunk/kernel/generic/src/mm/ |
Fix a bug in anonymous address space area sharing. Call the backend's share
function only if the source area is not already shared. Otherwise increment the
sh_info refcount. Without this fix, the kernel will try to recreate the pagemap
if three and more address space areas attempt to share the same data. |
|
/trunk/kernel/generic/src/mm/as.c /trunk/kernel/generic/src/mm/backend_elf.c
|
2646 |
6091 d 7 h |
jermar |
/trunk/kernel/generic/include/ |
Formatting. |
|
/trunk/kernel/generic/include/panic.h
|
2645 |
6091 d 8 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. |
|
/trunk/uspace/srv/fs/tmpfs /trunk/uspace/srv/fs/tmpfs/Makefile /trunk/uspace/srv/fs/tmpfs/tmpfs.c /trunk/uspace/srv/fs/tmpfs/tmpfs.h /trunk/uspace/srv/fs/tmpfs/tmpfs_ops.c
/trunk/uspace/Makefile
|
2644 |
6091 d 8 h |
jermar |
/trunk/uspace/ |
Move incomplete fs interface from fat.h to libfs. |
|
/trunk/uspace/lib/libfs/libfs.h /trunk/uspace/srv/fs/fat/fat.c /trunk/uspace/srv/fs/fat/fat.h
|
2643 |
6091 d 9 h |
jermar |
/trunk/uspace/ |
VFS work.
Move FS registration code to libfs. |
|
/trunk/uspace/lib/libfs/libfs.c /trunk/uspace/lib/libfs/libfs.h /trunk/uspace/srv/fs/fat/Makefile /trunk/uspace/srv/fs/fat/fat.c /trunk/uspace/srv/fs/fat/fat.h /trunk/uspace/srv/fs/fat/fat_ops.c
|
2642 |
6092 d 13 h |
jermar |
/trunk/uspace/ |
Start libfs.
libfs is to contain all common fs code. |
|
/trunk/uspace/lib/libfs /trunk/uspace/lib/libfs/Makefile /trunk/uspace/lib/libfs/libfs.c /trunk/uspace/lib/libfs/libfs.h
/trunk/uspace/Makefile
|
2641 |
6093 d 7 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. |
|
/trunk/uspace/srv/vfs/vfs.h /trunk/uspace/srv/vfs/vfs_register.c
|
2640 |
6095 d 1 h |
cejka |
/trunk/uspace/lib/libc/ |
Function strncmp() added to libc. |
|
/trunk/uspace/lib/libc/generic/string.c /trunk/uspace/lib/libc/include/string.h
|