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
2683 6032 d 4 h jermar /trunk/uspace/srv/vfs/ Introduce the open file lock. Modify vfs_rdwr() to take this lock into account
when reading or writing from/to an open file.
 
2682 6032 d 7 h jermar /trunk/uspace/ Fix type in declaration of VFS node rwlock.
Introduce a dedicated type for futexes. Make the existing futex code use this
newly introduced type and fix formatting in futex.c.
 
2681 6032 d 7 h jermar /trunk/uspace/ Turn the namespace futex into rwlock.  
2680 6032 d 8 h jermar /trunk/uspace/ Add basic rwlock API for uspace so that VFS can be designed/implemented using
this API. So far, the implementation of this API merely wraps futexes into
rwlocks. Real rwlocks are wanted by ticket #54.

Using the new rwlock API, replace the VFS node content futex with an rwlock.
Lock the contents rwlock as reader on reads and as writer on writes.
 
2679 6036 d 0 h jermar /trunk/uspace/srv/vfs/ Rename unlink_futex to namespace_futex and introduce a new futex for serializing
concurrent access to a VFS node's contents by multiple clients.
 
2678 6038 d 3 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.
 
2677 6038 d 4 h jermar /trunk/ Rename IPC_M_AS_AREA_SEND to IPC_M_SHARE_OUT. Rename IPC_M_AS_AREA_RECV to
IPC_M_SHARE_IN. Provide user-friendly wrappers for these methods so that even
dummies can get it right. Some applications using simpler protocols still use
these methods directly.
 
2676 6038 d 10 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 6038 d 23 h jermar /trunk/uspace/srv/fs/tmpfs/ Rename variable from 'size' to 'len'.  
2667 6043 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 6044 d 1 h jermar /trunk/uspace/srv/ VFS and TMPFS support for VFS_WRITE.  
2664 6045 d 22 h jermar /trunk/uspace/srv/fs/tmpfs/ Fix two bugs in TMPFS-side VFS_READ.  
2663 6045 d 23 h jermar /trunk/uspace/ Reimplement VFS_READ using IPC_M_DATA_READ.  
2660 6046 d 1 h jermar /trunk/ Rename IPC_M_DATA_SEND to IPC_M_DATA_WRITE. Now, when we also add
IPC_M_DATA_READ, it will not clash and cause confusion with userspace wrappers
such as ipc_data_receive(). Rename the forementioned wrappers to
ipc_data_write_send(), ipc_data_write_receive() and ipc_data_write_deliver().
 
2659 6046 d 22 h jermar /trunk/uspace/srv/vfs/ After VFS_READ, update the position pointer in the open file.  
2658 6046 d 22 h jermar /trunk/uspace/srv/ VFS work.
Foundation for TMPFS-side VFS_READ and fixes in VFS-side VFS_READ.
 
2657 6047 d 0 h jermar /trunk/uspace/ VFS work.
Cleaner VFS_MOUNT protocol.
 
2655 6050 d 4 h jermar /trunk/uspace/srv/fs/tmpfs/ TMPFS work.
VFS_LOOKUP implemented.
 
2654 6050 d 4 h jermar /trunk/uspace/srv/vfs/ VFS work.
Don't hang up the connection to VFS after VFS_MOUNT.
 
2653 6050 d 4 h jermar /trunk/uspace/srv/vfs/ VFS work.
Index of the last PLB character of a pathname was not correctly calculated.
 
2652 6050 d 4 h jermar /trunk/uspace/srv/vfs/ VFS work.
Fix VFS node hash function to hash only within the limits of its supposed
ranges.
 
2651 6050 d 4 h jermar /trunk/uspace/srv/vfs/ VFS work. Releas the FS phone earlier.  
2650 6050 d 4 h jermar /trunk/uspace/srv/vfs/ VFS work. FS info futex must be initialized.  
2645 6053 d 3 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 6053 d 3 h jermar /trunk/uspace/ Move incomplete fs interface from fat.h to libfs.  
2643 6053 d 4 h jermar /trunk/uspace/ VFS work.
Move FS registration code to libfs.
 
2641 6055 d 2 h jermar /trunk/uspace/srv/vfs/ VFS work.
During VFS_REGISTER, use strncmp() instead of strcmp().
Add one excessive convenience byte to vfs_info.name to support the
above-mentioned change. In case the fs name spans all available
characters, make sure this convenience byte is zero.
 
2639 6063 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 6065 d 0 h jermar /trunk/ Sync IPC comments with IPC code.  
2637 6065 d 1 h cejka /trunk/ Extended IPC_M_CONNECT_TO_ME to use 3 user defined parameters.
Phone identifier is passed in ARG5.
 
2635 6067 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 6073 d 23 h jermar /trunk/uspace/srv/fs/fat/ FAT work.
Add type describing FAT directory entry.
 
2628 6074 d 0 h jermar /trunk/uspace/srv/fs/fat/ FAT work.
Add type describing FAT boot sector.
 
2627 6074 d 1 h jermar /trunk/uspace/srv/fs/fat/ FAT work.
Start VFS_LOOKUP support in FAT.
 
2625 6075 d 2 h jermar /trunk/uspace/srv/vfs/ VFS work.
Proto implementation of VFS_READ.
 
2624 6075 d 2 h jermar /trunk/uspace/srv/vfs/ Add sanity checks to functions using file descriptors as indices into files.  
2622 6075 d 6 h jermar /trunk/ Add mode argument to IPC forward.
This argument can be used to modify the way forward behaves.
 
2621 6077 d 5 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 6078 d 23 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 6079 d 11 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.