Rev |
Age |
Author |
Path |
Log message |
Diff |
Changes |
2589 |
6186 d 23 h |
jermar |
/trunk/uspace/srv/vfs/ |
VFS work.
Allocate the open filess array dynamically and protect access to it via a
per-connection futex. Defer its allocation until the client makes a first
VFS_OPEN request.
Actually call vfs_mount() and vfs_open(), respectively, when the VFS_MOUNT and
VFS_OPEN requests, respectively, are received from the client. |
|
/trunk/uspace/srv/vfs/vfs.c /trunk/uspace/srv/vfs/vfs.h /trunk/uspace/srv/vfs/vfs_open.c
|
2588 |
6186 d 23 h |
jermar |
/trunk/uspace/ |
Add ipc_answer_fast_[01] macros so that ipc_answer_fast() users don't have to
write zero arguments all the time. |
|
/trunk/uspace/lib/libc/include/ipc/ipc.h /trunk/uspace/srv/fs/fat/fat.c /trunk/uspace/srv/ns/ns.c /trunk/uspace/srv/vfs/vfs.c /trunk/uspace/srv/vfs/vfs_mount.c /trunk/uspace/srv/vfs/vfs_register.c
|
2587 |
6187 d 0 h |
jermar |
/trunk/uspace/srv/vfs/ |
VFS work.
Introduce the notion of VFS_PAIR which corresponds to a file system instance,
and VFS_TRIPLET, which corresponds to a file system node. Separate vfs_triplet_t
and vfs_node_t as the former one is the stateless counterpart of the latter. |
|
/trunk/uspace/srv/vfs/vfs.h /trunk/uspace/srv/vfs/vfs_lookup.c /trunk/uspace/srv/vfs/vfs_mount.c
|
2576 |
6194 d 19 h |
jermar |
/trunk/uspace/srv/vfs/ |
Specify the width of the printed text in an argument to printf(). |
|
/trunk/uspace/srv/vfs/vfs_register.c
|
2569 |
6217 d 1 h |
jermar |
/trunk/uspace/ |
Tiny refinement of if-else_if-else statement in vfs_register.c. |
|
/trunk/uspace/lib/libc/generic/async.c /trunk/uspace/srv/vfs/vfs.c /trunk/uspace/srv/vfs/vfs_mount.c
|
2567 |
6218 d 7 h |
jermar |
/trunk/uspace/srv/vfs/ |
Don't explicitly answer the IPC_M_DATA_SEND call in VFS_REGISTER.
It is done automatically in ipc_data_deliver(). |
|
/trunk/uspace/srv/vfs/vfs_register.c
|
2560 |
6221 d 20 h |
jermar |
/trunk/uspace/srv/vfs/ |
VFS work.
Start VFS_OPEN. |
|
/trunk/uspace/srv/vfs/vfs_open.c
/trunk/uspace/srv/vfs/Makefile /trunk/uspace/srv/vfs/vfs.c /trunk/uspace/srv/vfs/vfs.h
|
2554 |
6222 d 16 h |
jermar |
/trunk/uspace/srv/vfs/ |
VFS work.
Add the missing bits of VFS-side VFS_MOUNT. |
|
/trunk/uspace/srv/vfs/vfs_mount.c
|
2553 |
6222 d 18 h |
jermar |
/trunk/uspace/srv/vfs/ |
VFS work.
Prevent race conditions when checking rootfs by taking a newly introduced
rootfs_futex. |
|
/trunk/uspace/srv/vfs/vfs_mount.c
|
2552 |
6222 d 18 h |
jermar |
/trunk/uspace/srv/vfs/ |
VFS work.
This is a checkpoint commit.
It introduces initial, still incomplete, code for VFS-side VFS_MOUNT request. |
|
/trunk/uspace/srv/vfs/vfs.c /trunk/uspace/srv/vfs/vfs.h /trunk/uspace/srv/vfs/vfs_lookup.c /trunk/uspace/srv/vfs/vfs_mount.c
|
2550 |
6222 d 21 h |
cejka |
/trunk/ |
Fixed naming convention in IPC. |
|
/trunk/kernel/generic/include/ipc/ipc.h /trunk/uspace/lib/libc/include/ipc/fb.h /trunk/uspace/srv/devmap/devmap.c /trunk/uspace/srv/devmap/devmap.h /trunk/uspace/srv/vfs/vfs.h
|
2549 |
6223 d 0 h |
jermar |
/trunk/uspace/srv/vfs/ |
VFS work.
Modify vfs_lookup_internal() to be able to work with an alternate root. This
will be useful for VFS_MOUNT support.
Improve observability and debuggability by explicitly zeroing out PLB after the
path has been looked up. |
|
/trunk/uspace/srv/vfs/vfs.h /trunk/uspace/srv/vfs/vfs_lookup.c /trunk/uspace/srv/vfs/vfs_register.c
|
2548 |
6223 d 1 h |
jermar |
/trunk/uspace/srv/vfs/ |
VFS work.
Add fs_name_to_handle() function to abstract away the details of walking the
list of registered file systems, and in order to avoid code duplication. |
|
/trunk/uspace/srv/vfs/vfs.h /trunk/uspace/srv/vfs/vfs_register.c
|
2546 |
6223 d 4 h |
jermar |
/trunk/uspace/srv/ |
VFS work.
Upon FS registration via VFS_REGISTER, the client is assigned a unique file
system handle. When generating the VFS_LOOKUP request in VFS, we also need to
pass the device handle. Add function to transform file system handle to phone.
Implement basic multi-call VFS request serialization on VFS side. |
|
/trunk/uspace/srv/fs/fat/fat.c /trunk/uspace/srv/vfs/vfs.h /trunk/uspace/srv/vfs/vfs_lookup.c /trunk/uspace/srv/vfs/vfs_register.c
|
2544 |
6223 d 20 h |
jermar |
/trunk/uspace/srv/vfs/ |
VFS work.
Proto implementation of VFS-side vfs_lookup_internal(). |
|
/trunk/uspace/srv/vfs/vfs.h /trunk/uspace/srv/vfs/vfs_lookup.c
|
2543 |
6223 d 23 h |
jermar |
/trunk/uspace/srv/ |
VFS work.
Modify the protocol so that VFS and FAT (or any other FS) have to share the Path
Lookup Buffer in read-only mode. |
|
/trunk/uspace/srv/fs/fat/fat.c /trunk/uspace/srv/vfs/vfs.c /trunk/uspace/srv/vfs/vfs_register.c
|
2542 |
6224 d 2 h |
jermar |
/trunk/uspace/srv/vfs/ |
VFS work.
Start support for the Patch Lookup Buffer.
Also add rootfs pointer. |
|
/trunk/uspace/srv/vfs/vfs_lookup.c /trunk/uspace/srv/vfs/vfs_mount.c
/trunk/uspace/srv/vfs/Makefile /trunk/uspace/srv/vfs/vfs.c /trunk/uspace/srv/vfs/vfs.h
|
2540 |
6224 d 16 h |
jermar |
/trunk/uspace/srv/vfs/ |
VFS work.
Introduce basic types representing a file system node and an open file. |
|
/trunk/uspace/srv/vfs/vfs.h
|
2536 |
6228 d 18 h |
jermar |
/trunk/uspace/srv/ |
VFS work.
Describe the bottleneck of one VFS-FS connection in fat.c. Add a comment
outlining possible approaches.
Also in fat.c, the async_create_manager() _must_ be called as well as
async_set_client_connection(). The latter alows VFS to duplicate the connection.
Modify fat_connection() to ACK all IPC_M_CONNECT_ME_TO calls. |
|
/trunk/uspace/srv/fs/fat/fat.c /trunk/uspace/srv/vfs/vfs_register.c
|
2535 |
6230 d 21 h |
jermar |
/trunk/uspace/srv/vfs/ |
Move VFS_REGISTER functionality into a separate file. |
|
/trunk/uspace/srv/vfs/vfs_register.c
/trunk/uspace/srv/vfs/Makefile /trunk/uspace/srv/vfs/vfs.c /trunk/uspace/srv/vfs/vfs.h
|