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
2690 6144 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 6145 d 1 h jermar /trunk/uspace/srv/ Management of the cached VFS node size.  
2684 6147 d 2 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).
 
2683 6147 d 5 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 6147 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 6147 d 8 h jermar /trunk/uspace/ Turn the namespace futex into rwlock.  
2680 6147 d 9 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 6151 d 1 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.
 
2666 6159 d 1 h jermar /trunk/uspace/srv/ VFS and TMPFS support for VFS_WRITE.  
2641 6170 d 3 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.
 
2625 6190 d 3 h jermar /trunk/uspace/srv/vfs/ VFS work.
Proto implementation of VFS_READ.
 
2596 6208 d 4 h jermar /trunk/uspace/srv/vfs/ VFS work.
Implement VFS node hash table management.
 
2593 6210 d 2 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 6211 d 4 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 6211 d 6 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.
 
2587 6211 d 7 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.
 
2560 6246 d 3 h jermar /trunk/uspace/srv/vfs/ VFS work.
Start VFS_OPEN.
 
2552 6247 d 1 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 6247 d 5 h cejka /trunk/ Fixed naming convention in IPC.  
2549 6247 d 7 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.
 

Show All