Subversion Repositories HelenOS

Rev

Go to most recent revision | Show changed files | Details | Compare with Previous | Blame | RSS feed

Filtering Options

Rev Age Author Path Log message Diff
2711 6046 d 2 h jermar /trunk/uspace/ Remove the debugging hack from tmpfs_init(), which created several files and
directories on the filesystem. TMPFS is now self-sufficient enough to be able
to create its content via the standard VFS interface.
 
2710 6046 d 2 h jermar /trunk/uspace/ VFS_WRITE and tmpfs_write fixes.  
2707 6046 d 6 h jermar /trunk/uspace/ Support for mkdir().  
2706 6046 d 10 h jermar /trunk/uspace/srv/fs/tmpfs/ Move handling of the miss on excessive components out of the main loop in
tmpfs_lookup.
 
2705 6046 d 23 h jermar /trunk/uspace/ More elegant, flexible and complete version of tmpfs_lookup.  
2700 6054 d 7 h jermar /trunk/uspace/ Introduce the notion of lflag (i.e. lookup flags) to support the ability to
limit the scope of VFS node types that can be opened by open() and opendir(). In
the future, lflag will also specify actions for VFS_LOOKUP handlers that will be
carried out in situations such as the VFS node is not found (e.g. implementation
of mkdir() and open() with O_CREAT in oflag).
 
2699 6054 d 21 h jermar /trunk/uspace/ Finish implementation of readdir(). Functions from this family are implemented
via using file descriptors for directories. For example, readdir() is
implemented as read() from an open directory. Of course, FS implementations
must understand that they are asked to read a directory and behave accordingly.
 
2693 6060 d 8 h jermar /trunk/uspace/ Add ftruncate() and support for VFS_TRUNCATE to VFS and TMPFS.  
2690 6064 d 23 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.
 
2687 6065 d 0 h jermar /trunk/uspace/srv/ Management of the cached VFS node size.  
2686 6065 d 1 h jermar /trunk/uspace/srv/fs/tmpfs/ Previous commit was toxic. When emulating gaps, zero out the reallocated buffer, not the original one.  
2685 6065 d 2 h jermar /trunk/uspace/srv/fs/tmpfs/ TMPFS must handle file gaps.  
2678 6073 d 4 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.
 
2676 6073 d 11 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.
 
2673 6074 d 0 h jermar /trunk/uspace/srv/fs/tmpfs/ Rename variable from 'size' to 'len'.  
2667 6078 d 20 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.
 
2666 6079 d 1 h jermar /trunk/uspace/srv/ VFS and TMPFS support for VFS_WRITE.  
2664 6080 d 22 h jermar /trunk/uspace/srv/fs/tmpfs/ Fix two bugs in TMPFS-side VFS_READ.  
2663 6080 d 23 h jermar /trunk/uspace/ Reimplement VFS_READ using IPC_M_DATA_READ.  
2658 6081 d 22 h jermar /trunk/uspace/srv/ VFS work.
Foundation for TMPFS-side VFS_READ and fixes in VFS-side VFS_READ.
 
2655 6085 d 4 h jermar /trunk/uspace/srv/fs/tmpfs/ TMPFS work.
VFS_LOOKUP implemented.
 
2645 6088 d 4 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.
 
2644 6088 d 4 h jermar /trunk/uspace/ Move incomplete fs interface from fat.h to libfs.  
2643 6088 d 5 h jermar /trunk/uspace/ VFS work.
Move FS registration code to libfs.
 
2639 6098 d 22 h jermar /trunk/uspace/srv/fs/fat/ FAT work.
Foundation for FAT dentry comparison function.
Beware of looking at the diff or risk loosing sanity.
 
2638 6100 d 1 h jermar /trunk/ Sync IPC comments with IPC code.  
2637 6100 d 1 h cejka /trunk/ Extended IPC_M_CONNECT_TO_ME to use 3 user defined parameters.
Phone identifier is passed in ARG5.
 
2635 6102 d 1 h cejka /trunk/ Function ipc_connect_me_to sends 3 user defined arguments now.
One argument added also to ipc_forward_fast.
Fixed devmap and improved its test.
 
2629 6108 d 23 h jermar /trunk/uspace/srv/fs/fat/ FAT work.
Add type describing FAT directory entry.
 
2628 6109 d 0 h jermar /trunk/uspace/srv/fs/fat/ FAT work.
Add type describing FAT boot sector.
 
2627 6109 d 1 h jermar /trunk/uspace/srv/fs/fat/ FAT work.
Start VFS_LOOKUP support in FAT.
 
2619 6114 d 0 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().
 
2615 6115 d 9 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.
 
2588 6131 d 6 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.
 
2568 6162 d 14 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.
 
2546 6167 d 10 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.
 
2543 6168 d 6 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.
 
2536 6173 d 1 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.
 
2534 6175 d 4 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 6176 d 0 h jermar /trunk/uspace/srv/fs/fat/ No need to call async_manager() at the end of fat.c's main().