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
4518 6132 d 10 h jermar /trunk/uspace/srv/vfs/ Make VFS use the new synchronization for fibrils. Now there should be no (or
only secondary) fibril serialization. Code reorganized not to hold the phone
lock during async_wait_for() in most cases. Tested on ia32. On amd64, VFS
crashes, but I think it is an unrelated problem.
 
4509 6133 d 19 h decky /trunk/uspace/ rename libadt -> adt  
4463 6138 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)
 
4445 6140 d 15 h decky /trunk/uspace/srv/vfs/ revert commit 4443 and implement a much finer solution as suggested by Jakub Jermar in commit 4444  
4444 6143 d 13 h jermar /trunk/uspace/srv/vfs/ Put a comment for consideration.  
3653 6324 d 17 h jermar /trunk/uspace/srv/vfs/ Hold the namespace_rwlock during readdir().  
3109 6500 d 17 h jermar /trunk/uspace/srv/ Split the 'mount another filesystem here' and 'you are being mounted and the
device is this' mount semantics. Add VFS_MOUNTED VFS operation that corresponds
to the latter and reserve VFS_MOUNT only for the former. Because of this
change, the VFS server does not maintain the mr_node VFS node for the name space
root anymore and the VFS_LOOKUP operation is now not meant to be used on
unmounted file system, not even for looking up the root node of unmounted file
systems. In the light of these changes, TMPFS is now initialized from
tmpfs_mounted() function.
 
2770 6587 d 12 h jermar /trunk/uspace/ Introduce fs_handle_t, dev_handle_t and fs_index_t.  
2769 6588 d 10 h jermar /trunk/uspace/srv/vfs/ VFS index needs to be treated as uint64_t.  
2766 6589 d 12 h jermar /trunk/uspace/srv/vfs/ Grab the nodes_futex when manipulating node link counts in rename() and
_unlink().

Fix VFS futex definitions and declarations by replacing atomic_t by futex_t.
 
2763 6589 d 15 h jermar /trunk/uspace/ Support for rename().  
2753 6596 d 11 h jermar /trunk/uspace/ Move canonify() to libc so that it can be used also on the libc side.  
2752 6596 d 17 h jermar /trunk/uspace/srv/vfs/ Make VFS canonify path names on lookup.  
2751 6597 d 15 h jermar /trunk/uspace/ Add canonify() for file system path canonization.
Not yet used by VFS.
 
2730 6611 d 21 h jermar /trunk/uspace/srv/ Introduce the notion of VFS node link counts.  
2707 6631 d 17 h jermar /trunk/uspace/ Support for mkdir().  
2700 6639 d 19 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).
 
2698 6640 d 14 h jermar /trunk/uspace/srv/vfs/ Small fix for VFS_TRUNCATE. Move lookup and registration code to separate
modules.