Subversion Repositories HelenOS

Rev

Go to most recent revision | Show changed files | Directory listing | RSS feed

Filtering Options

Rev Age Author Path Log message Diff
2622 6055 d 0 h jermar /trunk/ Add mode argument to IPC forward.
This argument can be used to modify the way forward behaves.
 
2621 6056 d 22 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 6058 d 16 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 6059 d 5 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 6060 d 2 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 6068 d 1 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 6070 d 5 h jermar /trunk/uspace/srv/devmap/ Cstyle fixes.  
2597 6071 d 19 h jermar /trunk/uspace/srv/vfs/ VFS work.
Increment reference counters for the VFS nodes representing the mount point and
the root of the mounted filesystem, respectively, during VFS_MOUNT. Take the
unlink_futex when transforming the triplet into a VFS node.
 
2596 6072 d 21 h jermar /trunk/uspace/srv/vfs/ VFS work.
Implement VFS node hash table management.
 
2594 6073 d 17 h cejka /trunk/uspace/ New version of device mapper.
Added devmap test to tester.
 
2593 6074 d 18 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 6075 d 21 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.
 
2589 6075 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.
 
2588 6075 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.
 
2587 6076 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.
 
2576 6083 d 18 h jermar /trunk/uspace/srv/vfs/ Specify the width of the printed text in an argument to printf().  
2569 6106 d 1 h jermar /trunk/uspace/ Tiny refinement of if-else_if-else statement in vfs_register.c.  
2568 6107 d 7 h jermar /trunk/uspace/ Rename fibril_schedule_next_adv() to fibril_switch(). Rename
fibril_schedule_next() to fibril_yield(). Some fibril structures could be
uninitialized, set them to zero in fibril_setup(). For some fibrils, the stack
member can be NULL (e.g. every thread's first/main fibril); don't do free on
these stacks when cleaning up after a dead fibril.
 
2567 6107 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().
 
2566 6107 d 7 h jermar /trunk/uspace/srv/console/ Fix cstyle in console.c.  
2560 6110 d 20 h jermar /trunk/uspace/srv/vfs/ VFS work.
Start VFS_OPEN.
 
2555 6111 d 15 h cejka /trunk/uspace/srv/devmap/ Added message forwarding to device mapper.  
2554 6111 d 16 h jermar /trunk/uspace/srv/vfs/ VFS work.
Add the missing bits of VFS-side VFS_MOUNT.
 
2553 6111 d 17 h jermar /trunk/uspace/srv/vfs/ VFS work.
Prevent race conditions when checking rootfs by taking a newly introduced
rootfs_futex.
 
2552 6111 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.
 
2550 6111 d 21 h cejka /trunk/ Fixed naming convention in IPC.  
2549 6111 d 23 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.
 
2548 6112 d 0 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.
 
2547 6112 d 0 h cejka /trunk/ Added basic support for device mapper.  
2546 6112 d 3 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.
 
2544 6112 d 20 h jermar /trunk/uspace/srv/vfs/ VFS work.
Proto implementation of VFS-side vfs_lookup_internal().
 
2543 6112 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.
 
2542 6113 d 1 h jermar /trunk/uspace/srv/vfs/ VFS work.
Start support for the Patch Lookup Buffer.
Also add rootfs pointer.
 
2541 6113 d 1 h jermar /trunk/uspace/ Header cleanup.
Move off_t, size_t and ssize_t into sys/types.h.
Get rid off the non-standard and dummy types.h.
 
2540 6113 d 16 h jermar /trunk/uspace/srv/vfs/ VFS work.
Introduce basic types representing a file system node and an open file.
 
2539 6113 d 23 h jermar /trunk/uspace/srv/console/ Cstyle and other minor fixes in the console code.  
2536 6117 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.
 
2535 6119 d 21 h jermar /trunk/uspace/srv/vfs/ Move VFS_REGISTER functionality into a separate file.  
2534 6119 d 21 h jermar /trunk/uspace/ In async_new_connection(), be more robust in the case that the function
is called by the server directly after its client accepts the
IPC_M_CONNECT_TO_ME call.

In fat.c main(), kill the "main" fibril and switch to the connection
fibril.
 
2533 6120 d 17 h jermar /trunk/uspace/srv/fs/fat/ No need to call async_manager() at the end of fat.c's main().