HelenOS
HelenOS-doc
HelenOS-historic
Català-Valencià – Catalan
中文 – Chinese (Simplified)
中文 – Chinese (Traditional)
Česky – Czech
Dansk – Danish
Nederlands – Dutch
English – English
Suomi – Finnish
Français – French
Deutsch – German
עברית – Hebrew
हिंदी – Hindi
Magyar – Hungarian
Bahasa Indonesia – Indonesian
Italiano – Italian
日本語 – Japanese
한국어 – Korean
Македонски – Macedonian
मराठी – Marathi
Norsk – Norwegian
Polski – Polish
Português – Portuguese
Português – Portuguese (Brazil)
Русский – Russian
Slovenčina – Slovak
Slovenščina – Slovenian
Español – Spanish
Svenska – Swedish
Türkçe – Turkish
Українська – Ukrainian
Oëzbekcha – Uzbek
Subversion Repositories
HelenOS
(root)
/
trunk
/
uspace
/
srv
/
vfs
/
vfs_node.c
– Rev 4584
Rev
Hide changed files
|
Details
|
Compare with Previous
|
Blame
|
RSS feed
Filtering Options
From rev
To rev
Max revs
Search history for
Show All
Rev
Age
Author
Path
Log message
Diff
Changes
4584
5658 d 4 h
jermar
/trunk/uspace/
Separate the VFS input and output protocols.
/trunk/uspace/app/trace/trace.c
/trunk/uspace/lib/libc/generic/vfs/vfs.c
/trunk/uspace/lib/libc/include/ipc/console.h
/trunk/uspace/lib/libc/include/ipc/vfs.h
/trunk/uspace/lib/libfs/libfs.c
/trunk/uspace/srv/console/console.c
/trunk/uspace/srv/fs/devfs/devfs.c
/trunk/uspace/srv/fs/fat/fat.c
/trunk/uspace/srv/fs/tmpfs/tmpfs.c
/trunk/uspace/srv/vfs/vfs.c
/trunk/uspace/srv/vfs/vfs_lookup.c
/trunk/uspace/srv/vfs/vfs_node.c
/trunk/uspace/srv/vfs/vfs_ops.c
4555
5668 d 19 h
jermar
/trunk/uspace/srv/vfs/
Finish converting VFS to fibril synchronization.
/trunk/uspace/srv/vfs/vfs.h
/trunk/uspace/srv/vfs/vfs_file.c
/trunk/uspace/srv/vfs/vfs_lookup.c
/trunk/uspace/srv/vfs/vfs_node.c
/trunk/uspace/srv/vfs/vfs_ops.c
4518
5676 d 19 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.
/trunk/uspace/srv/vfs/vfs.h
/trunk/uspace/srv/vfs/vfs_file.c
/trunk/uspace/srv/vfs/vfs_lookup.c
/trunk/uspace/srv/vfs/vfs_node.c
/trunk/uspace/srv/vfs/vfs_ops.c
/trunk/uspace/srv/vfs/vfs_register.c
4509
5678 d 4 h
decky
/trunk/uspace/
rename libadt -> adt
/trunk/uspace/lib/libc/generic/adt
/trunk/uspace/lib/libc/include/adt
/trunk/uspace/lib/libc/generic/libadt
/trunk/uspace/lib/libc/include/libadt
/trunk/uspace/app/trace/ipcp.c
/trunk/uspace/app/trace/proto.c
/trunk/uspace/app/trace/proto.h
/trunk/uspace/lib/libblock/libblock.c
/trunk/uspace/lib/libblock/libblock.h
/trunk/uspace/lib/libc/Makefile
/trunk/uspace/lib/libc/generic/adt/hash_table.c
/trunk/uspace/lib/libc/generic/adt/list.c
/trunk/uspace/lib/libc/generic/async.c
/trunk/uspace/lib/libc/generic/fibril.c
/trunk/uspace/lib/libc/generic/io/io.c
/trunk/uspace/lib/libc/generic/ipc.c
/trunk/uspace/lib/libc/include/adt/hash_table.h
/trunk/uspace/lib/libc/include/fibril.h
/trunk/uspace/lib/libc/include/ipc/devmap.h
/trunk/uspace/lib/libc/include/stdio.h
/trunk/uspace/srv/console/console.c
/trunk/uspace/srv/fs/devfs/devfs_ops.c
/trunk/uspace/srv/fs/fat/fat_idx.c
/trunk/uspace/srv/fs/fat/fat_ops.c
/trunk/uspace/srv/fs/tmpfs/tmpfs.h
/trunk/uspace/srv/fs/tmpfs/tmpfs_ops.c
/trunk/uspace/srv/kbd/Makefile
/trunk/uspace/srv/kbd/genarch/gsp.c
/trunk/uspace/srv/kbd/generic/kbd.c
/trunk/uspace/srv/kbd/include/gsp.h
/trunk/uspace/srv/ns/clonable.c
/trunk/uspace/srv/ns/service.c
/trunk/uspace/srv/ns/task.c
/trunk/uspace/srv/vfs/vfs.c
/trunk/uspace/srv/vfs/vfs.h
/trunk/uspace/srv/vfs/vfs_lookup.c
/trunk/uspace/srv/vfs/vfs_node.c
/trunk/uspace/srv/vfs/vfs_ops.c
/trunk/uspace/srv/vfs/vfs_register.c
4463
5682 d 23 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)
/trunk/uspace/srv/vfs/vfs.c
/trunk/uspace/srv/vfs/vfs.h
/trunk/uspace/srv/vfs/vfs_lookup.c
/trunk/uspace/srv/vfs/vfs_node.c
/trunk/uspace/srv/vfs/vfs_ops.c
/trunk/uspace/srv/vfs/vfs_register.c
3653
5869 d 2 h
jermar
/trunk/uspace/srv/vfs/
Hold the namespace_rwlock during readdir().
/trunk/uspace/srv/vfs/vfs.h
/trunk/uspace/srv/vfs/vfs_lookup.c
/trunk/uspace/srv/vfs/vfs_node.c
/trunk/uspace/srv/vfs/vfs_ops.c
2766
6133 d 22 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.
/trunk/uspace/srv/vfs/vfs.h
/trunk/uspace/srv/vfs/vfs_lookup.c
/trunk/uspace/srv/vfs/vfs_node.c
/trunk/uspace/srv/vfs/vfs_ops.c
2742
6146 d 19 h
jermar
/trunk/uspace/srv/
Separate creation of a TMPFS node and its linking in the file system name space.
Rename VFS_FREE to VFS_DESTROY and destroy_node() to unlink_node().
/trunk/uspace/srv/fs/tmpfs/tmpfs.c
/trunk/uspace/srv/fs/tmpfs/tmpfs.h
/trunk/uspace/srv/fs/tmpfs/tmpfs_ops.c
/trunk/uspace/srv/vfs/vfs.h
/trunk/uspace/srv/vfs/vfs_node.c
/trunk/uspace/srv/vfs/vfs_ops.c
2740
6152 d 19 h
jermar
/trunk/uspace/srv/vfs/
Initialize the VFS node properly.
/trunk/uspace/srv/vfs/vfs_node.c
2731
6155 d 4 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.
/trunk/uspace/srv/fs/fat/fat.c
/trunk/uspace/srv/fs/tmpfs/tmpfs.c
/trunk/uspace/srv/fs/tmpfs/tmpfs.h
/trunk/uspace/srv/fs/tmpfs/tmpfs_ops.c
/trunk/uspace/srv/vfs/vfs.h
/trunk/uspace/srv/vfs/vfs_file.c
/trunk/uspace/srv/vfs/vfs_node.c
/trunk/uspace/srv/vfs/vfs_register.c
2730
6156 d 6 h
jermar
/trunk/uspace/srv/
Introduce the notion of VFS node link counts.
/trunk/uspace/srv/fs/tmpfs/tmpfs_ops.c
/trunk/uspace/srv/vfs/vfs.h
/trunk/uspace/srv/vfs/vfs_lookup.c
/trunk/uspace/srv/vfs/vfs_node.c
2691
6193 d 22 h
jermar
/trunk/uspace/srv/vfs/
Improve the API for converting (VFS triplets, size) to VFS nodes by introducing
a new type for results of vfs_lookup_internal().
/trunk/uspace/srv/vfs/vfs.h
/trunk/uspace/srv/vfs/vfs_node.c
/trunk/uspace/srv/vfs/vfs_ops.c
2687
6194 d 21 h
jermar
/trunk/uspace/srv/
Management of the cached VFS node size.
/trunk/uspace/srv/fs/tmpfs/tmpfs_ops.c
/trunk/uspace/srv/vfs/vfs.h
/trunk/uspace/srv/vfs/vfs_lookup.c
/trunk/uspace/srv/vfs/vfs_mount.c
/trunk/uspace/srv/vfs/vfs_node.c
/trunk/uspace/srv/vfs/vfs_open.c
/trunk/uspace/srv/vfs/vfs_rdwr.c
2680
6197 d 5 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.
/trunk/uspace/lib/libc/include/rwlock.h
/trunk/uspace/srv/vfs/vfs.h
/trunk/uspace/srv/vfs/vfs_node.c
/trunk/uspace/srv/vfs/vfs_rdwr.c
2679
6200 d 21 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.
/trunk/uspace/srv/vfs/vfs.h
/trunk/uspace/srv/vfs/vfs_mount.c
/trunk/uspace/srv/vfs/vfs_node.c
/trunk/uspace/srv/vfs/vfs_open.c
/trunk/uspace/srv/vfs/vfs_rdwr.c
/trunk/uspace/srv/vfs/vfs_unlink.c
2652
6215 d 1 h
jermar
/trunk/uspace/srv/vfs/
VFS work.
Fix VFS node hash function to hash only within the limits of its supposed
ranges.
/trunk/uspace/srv/vfs/vfs_node.c
2596
6258 d 0 h
jermar
/trunk/uspace/srv/vfs/
VFS work.
Implement VFS node hash table management.
/trunk/uspace/srv/vfs/vfs.c
/trunk/uspace/srv/vfs/vfs.h
/trunk/uspace/srv/vfs/vfs_node.c
2593
6259 d 22 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.
/trunk/uspace/srv/vfs/vfs_file.c
/trunk/uspace/srv/vfs/vfs_unlink.c
/trunk/uspace/srv/vfs/Makefile
/trunk/uspace/srv/vfs/vfs.c
/trunk/uspace/srv/vfs/vfs.h
/trunk/uspace/srv/vfs/vfs_node.c
/trunk/uspace/srv/vfs/vfs_open.c
2590
6261 d 0 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.
/trunk/uspace/srv/vfs/vfs_node.c
/trunk/uspace/srv/vfs/Makefile
/trunk/uspace/srv/vfs/vfs.h
/trunk/uspace/srv/vfs/vfs_lookup.c
/trunk/uspace/srv/vfs/vfs_mount.c
/trunk/uspace/srv/vfs/vfs_open.c
/trunk/uspace/srv/vfs/vfs_register.c