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
2881 5880 d 3 h jermar /trunk/uspace/srv/fs/fat/ Code for de/allocation of VFS indices for FAT.  
2876 5880 d 7 h jermar /trunk/uspace/srv/fs/fat/ Add a dedicated source file for handling FAT indices.  
2864 5893 d 21 h jermar /trunk/uspace/srv/fs/fat/ Introduce the foundation for unique and stable FAT VFS node indices.

The first two reserved FAT entries are physically present in each FAT, so fix
the code to be aware of this.
 
2863 5894 d 8 h jermar /trunk/uspace/ Revert libfs node_get() API to a model without the parent node pointer
argument.
 
2859 5899 d 13 h jermar /trunk/uspace/srv/fs/fat/ Add fat_block_get().  
2858 5899 d 16 h jermar /trunk/uspace/ libfs destroy operation should rather return an error code instead of a truth
value.
 
2857 5899 d 16 h jermar /trunk/uspace/ Add stubs for unimplemented FAT libfs operations.  
2856 5899 d 17 h jermar /trunk/uspace/srv/fs/fat/ Add a locking scheme for FAT in-core cache and nodes.  
2855 5899 d 18 h jermar /trunk/uspace/srv/fs/fat/ fat_node_put(). No locking so far.  
2852 5900 d 14 h jermar /trunk/uspace/ Add node_put() to libfs operations and instrument libfs_lookup() to use it at
appropriate places.
Add node_put() to libfs operations and instrument libfs_lookup() to use it at
appropriate places.
Add node_put() to libfs operations and instrument libfs_lookup() to use it at
appropriate places.
Add node_put() to libfs operations and instrument libfs_lookup() to use it at
appropriate places.
Add node_put() to libfs operations and instrument libfs_lookup() to use it at
appropriate places.
Add node_put() to libfs operations and instrument libfs_lookup() to use it at
appropriate places.
 
2845 5901 d 20 h jermar /trunk/uspace/srv/fs/fat/ Add fat_has_children(). Alse assume that fat_block_get() can never return NULL.  
2844 5901 d 21 h jermar /trunk/uspace/ Add fat_root_get() and fat_plb_get_char().  
2843 5901 d 22 h jermar /trunk/uspace/srv/fs/fat/ Somewhat complete implementation of fat_node_get().  
2831 5904 d 14 h jermar /trunk/uspace/ Commit progress on the FAT file system server implementation.  
2828 5905 d 18 h jermar /trunk/uspace/srv/fs/fat/ BPS read from FAT bootsector is little-endian. It must converted to host
endianity before being used.
 
2822 5906 d 18 h jermar /trunk/uspace/srv/fs/fat/ Introduce and also use the foundation of block cache API in FAT's match
operation.
 
2798 5910 d 23 h jermar /trunk/uspace/ Replace all endian.h in uspace with a copy of the kernel's respective byteorder.h.  
2796 5911 d 23 h jermar /trunk/uspace/srv/fs/fat/ Convert FAT on-disk metadata from little-endian to native representation.  
2793 5912 d 0 h jermar /trunk/uspace/srv/fs/fat/ First untested bits of FAT lookup support.  
2789 5917 d 11 h jermar /trunk/uspace/srv/fs/fat/ Fix FAT boot sector definition and introduce the FAT in-core node type.  
2731 5957 d 6 h jermar /trunk/uspace/srv/ Add the VFS_FREE operation. This operation frees up whatever resources used by
a file system node for which there is no name (i.e. an unlinked node).

Cleanup VFS operations enums and remove unneeded VFS operations.
 
2690 5996 d 21 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.
 
2644 6020 d 2 h jermar /trunk/uspace/ Move incomplete fs interface from fat.h to libfs.  
2643 6020 d 3 h jermar /trunk/uspace/ VFS work.
Move FS registration code to libfs.
 
2639 6030 d 21 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 6031 d 23 h jermar /trunk/ Sync IPC comments with IPC code.  
2637 6031 d 23 h cejka /trunk/ Extended IPC_M_CONNECT_TO_ME to use 3 user defined parameters.
Phone identifier is passed in ARG5.
 
2635 6033 d 23 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 6040 d 22 h jermar /trunk/uspace/srv/fs/fat/ FAT work.
Add type describing FAT directory entry.
 
2628 6040 d 23 h jermar /trunk/uspace/srv/fs/fat/ FAT work.
Add type describing FAT boot sector.
 
2627 6041 d 0 h jermar /trunk/uspace/srv/fs/fat/ FAT work.
Start VFS_LOOKUP support in FAT.
 
2619 6045 d 22 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 6047 d 7 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 6063 d 4 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 6094 d 12 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 6099 d 9 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 6100 d 4 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 6104 d 23 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 6107 d 3 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 6107 d 23 h jermar /trunk/uspace/srv/fs/fat/ No need to call async_manager() at the end of fat.c's main().