Subversion Repositories HelenOS

Rev

Show changed files | Details | Compare with Previous | Blame | RSS feed

Filtering Options

Rev Age Author Path Log message Diff
4647 5642 d 13 h jermar /branches/arm/ Branch out a new arm branch.  
4585 5659 d 13 h jermar /trunk/uspace/ Introduce VFS_IN_FSTAT and VFS_OUT_STAT.
Provide libc fstat() and devfs_stat().
This functionality replaces VFS_IN_NODE
and VFS_IN/OUT_DEVICE. FAT and TMPFS
still do not implement this and VFS_IN_STAT
and stat() need implementation as well.
 
4584 5659 d 18 h jermar /trunk/uspace/ Separate the VFS input and output protocols.  
4566 5662 d 10 h jermar /trunk/uspace/srv/vfs/ Do not use the "pending" fibril mechanism in VFS  
4563 5665 d 11 h jermar /trunk/uspace/srv/vfs/ Remove an obsolete comment.  
4539 5672 d 12 h jermar /trunk/uspace/srv/vfs/ Handle pending mounts using only one fibril.  
4509 5679 d 18 h decky /trunk/uspace/ rename libadt -> adt  
4463 5684 d 13 h decky /trunk/uspace/srv/vfs/ VFS rewrite:
- add new VFS methods
- VFS_NODE for getting VFS node for a file descriptor
- VFS_OPEN_NODE for opening an i-node directly
- VFS_DEVICE for getting the underlying device of a file (if any)
- VFS_SYNC for syncing buffers
- L_OPEN flag is set to underlying filesystem in VFS_LOOKUP when opening a file to support initialization (if any)
- VFS_CLOSE is now propagated to underlying filesystem to support cleanup (if any)
 
4406 5699 d 10 h jermar /trunk/uspace/srv/vfs/ Remove unused and non-functional code.  
4010 5777 d 14 h decky /trunk/uspace/srv/vfs/ support for pending (blocking) mounts (waiting for the presence of the filesystem implementation)
the mount point and filesystem type arguments of VFS_MOUNT were swapped, the IPC_M_PING was eliminated
small cleanups
 
3849 5806 d 18 h jermar /trunk/uspace/srv/vfs/ Allow VFS to interconnect two file system servers.  
3847 5806 d 19 h jermar /trunk/uspace/srv/vfs/ Do not close connection to VFS after a file system registers.  
3488 5921 d 12 h svoboda /trunk/uspace/ Fix assorted warnings.  
3079 6049 d 16 h decky /trunk/uspace/srv/vfs/ disable extensive debugging output  
2763 6135 d 14 h jermar /trunk/uspace/ Support for rename().  
2735 6156 d 15 h jermar /trunk/uspace/ Support for rmdir(), unlink() and the respective VFS operations.  
2734 6156 d 17 h jermar /trunk/uspace/ Support for close().  
2707 6177 d 17 h jermar /trunk/uspace/ Support for mkdir().  
2693 6191 d 18 h jermar /trunk/uspace/ Add ftruncate() and support for VFS_TRUNCATE to VFS and TMPFS.  
2690 6196 d 10 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.
 
2684 6198 d 12 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).
 
2666 6210 d 12 h jermar /trunk/uspace/srv/ VFS and TMPFS support for VFS_WRITE.  
2654 6216 d 15 h jermar /trunk/uspace/srv/vfs/ VFS work.
Don't hang up the connection to VFS after VFS_MOUNT.
 
2637 6231 d 12 h cejka /trunk/ Extended IPC_M_CONNECT_TO_ME to use 3 user defined parameters.
Phone identifier is passed in ARG5.
 
2625 6241 d 13 h jermar /trunk/uspace/srv/vfs/ VFS work.
Proto implementation of VFS_READ.
 
2619 6245 d 10 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().
 
2596 6259 d 14 h jermar /trunk/uspace/srv/vfs/ VFS work.
Implement VFS node hash table management.
 
2593 6261 d 12 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.
 
2589 6262 d 16 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 6262 d 17 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.
 
2569 6292 d 19 h jermar /trunk/uspace/ Tiny refinement of if-else_if-else statement in vfs_register.c.  
2560 6297 d 13 h jermar /trunk/uspace/srv/vfs/ VFS work.
Start VFS_OPEN.
 
2552 6298 d 11 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.
 
2543 6299 d 16 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 6299 d 19 h jermar /trunk/uspace/srv/vfs/ VFS work.
Start support for the Patch Lookup Buffer.
Also add rootfs pointer.
 
2535 6306 d 15 h jermar /trunk/uspace/srv/vfs/ Move VFS_REGISTER functionality into a separate file.  
2532 6307 d 13 h jermar /trunk/ VFS work.

The VFS_REGISTER is now fully implemented by both vfs and fat servers. Thanks to
the debugging dprintf()'s, I was able to fix little errors here and there to
make them actually work.

Modified vfs and fat service makefiles so that the two are not built as drivers
and can therefore print to standard output. Added many debugging dprintf()'s.

Change the amd64 boot configuration to load vfs and fat.
 
2531 6308 d 12 h jermar /trunk/uspace/ VFS work.
Implement VFS_REGISTER part of the protocol in the FAT file system.

IPC work.
Rename ipc_data_send_accept() to ipc_data_receive() and ipc_data_send_answer()
to ipc_data_deliver(). Introduce ipc_data_send().
 
2527 6310 d 21 h jermar /trunk/ VFS work.

Added mandatory VFS_LOOKUP

Handling of VFS_REGISTER request should be now more or less complete.
Added code that inserts the new fs_info structure into the list of registered
filesystems and creates a callback connection to the client FS.
 
2526 6311 d 17 h jermar /trunk/uspace/ VFS work.
Delve deeper into VFS_REGISTER.