#
1db58389 |
|
14-Apr-2009 |
Axel Dörfler <axeld@pinc-software.de> |
* {read|write}_pages() does not have a "reenter" argument. This could let both commands run without proper locking. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30160 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
3cf43c26 |
|
25-Mar-2009 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Removed the fs_vnode_ops::create_dir() parameter for returning the ID of the newly created dir. The VFS really doesn't need it and for some file systems it might not be easy to get by. Several file systems (e.g. rootfs and fat) were ignoring the parameter anyway. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29719 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
72010d42 |
|
16-Apr-2008 |
Michael Lotz <mmlr@mlotz.ch> |
* Ported the FAT filesystem to the recent filesystem interface changes which was, thanks to the detailed instructions from Ingo, quite doable. * Ported the (deprecated and now publically removed) notify_listener() calls to the respective new notify_* calls. * Fixed debug build. * Added the FAT filesystem back to the image. I only tested the filesystem briefly and everything seemed to work as expected (mounted the FAT part of my bootable Haiku memory stick, opened a few files and copied something to it). At least it should not be any more broken than before the interface changes ;-). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24987 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
3d268eda |
|
10-Nov-2007 |
Axel Dörfler <axeld@pinc-software.de> |
* Extracted file_map API out of the file cache - it's now an optional service that can be used by file systems. * Changed the way the file cache works: instead of reading/writing to the underlying device directly, it can now be used for any data source, ie. also network file systems. * As a result, the former pages_io() moved to the VFS layer, and can now be called by a file system via {read|write}_file_io_vec_pages() (naming suggestions are always welcomed :-)). It now gets an FD, and uses that to communicate with the device (via its fs_{read|write}_pages() hooks). * The file_cache_{read|write}() functions must now be called without holding an I/O relevant file system lock. That allows the file cache to prepare the pages without colliding with the page writer, IOW the "mayBlock" flag can go into the attic again (yay!). * This also results in a much better performance when the system does I/O and is low on memory, as the page writer can now finally write back some pages, and that even without maxing out the CPU :) * The API changes put slightly more burden on the fs_{read|write}_pages() hooks, but in combination with the file_map it's still pretty straight forward. It just will have to dispatch the call to the underlying device directly, usually it will just call its fs_{read|write}_pages() hooks via the above mentioned calls. * Ported BFS and FAT to the new API, the latter has not been tested, though. * Also ported the API changes to the fs_shell. I also completely removed its file cache level page handling - the downside is that device access is no longer cached (ie. depends on the host OS now), the upside is that the code is greatly simplified. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22886 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
c0737fa8 |
|
14-Oct-2007 |
Axel Dörfler <axeld@pinc-software.de> |
Fixed warnings. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22566 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
42cd7306 |
|
26-Sep-2007 |
Axel Dörfler <axeld@pinc-software.de> |
Renamed "dos" file system to "fat". git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22316 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
1db58389c64af83a28c0d085ceab09fd8988f7c2 |
|
14-Apr-2009 |
Axel Dörfler <axeld@pinc-software.de> |
* {read|write}_pages() does not have a "reenter" argument. This could let both commands run without proper locking. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30160 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
3cf43c26516b695e35b7433196a530f7541c4ca8 |
|
25-Mar-2009 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Removed the fs_vnode_ops::create_dir() parameter for returning the ID of the newly created dir. The VFS really doesn't need it and for some file systems it might not be easy to get by. Several file systems (e.g. rootfs and fat) were ignoring the parameter anyway. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29719 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
72010d4247cca17efe8bc5a231569f5a1d8299d7 |
|
16-Apr-2008 |
Michael Lotz <mmlr@mlotz.ch> |
* Ported the FAT filesystem to the recent filesystem interface changes which was, thanks to the detailed instructions from Ingo, quite doable. * Ported the (deprecated and now publically removed) notify_listener() calls to the respective new notify_* calls. * Fixed debug build. * Added the FAT filesystem back to the image. I only tested the filesystem briefly and everything seemed to work as expected (mounted the FAT part of my bootable Haiku memory stick, opened a few files and copied something to it). At least it should not be any more broken than before the interface changes ;-). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24987 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
3d268eda3d0ca504c865533347decf27b54025b6 |
|
10-Nov-2007 |
Axel Dörfler <axeld@pinc-software.de> |
* Extracted file_map API out of the file cache - it's now an optional service that can be used by file systems. * Changed the way the file cache works: instead of reading/writing to the underlying device directly, it can now be used for any data source, ie. also network file systems. * As a result, the former pages_io() moved to the VFS layer, and can now be called by a file system via {read|write}_file_io_vec_pages() (naming suggestions are always welcomed :-)). It now gets an FD, and uses that to communicate with the device (via its fs_{read|write}_pages() hooks). * The file_cache_{read|write}() functions must now be called without holding an I/O relevant file system lock. That allows the file cache to prepare the pages without colliding with the page writer, IOW the "mayBlock" flag can go into the attic again (yay!). * This also results in a much better performance when the system does I/O and is low on memory, as the page writer can now finally write back some pages, and that even without maxing out the CPU :) * The API changes put slightly more burden on the fs_{read|write}_pages() hooks, but in combination with the file_map it's still pretty straight forward. It just will have to dispatch the call to the underlying device directly, usually it will just call its fs_{read|write}_pages() hooks via the above mentioned calls. * Ported BFS and FAT to the new API, the latter has not been tested, though. * Also ported the API changes to the fs_shell. I also completely removed its file cache level page handling - the downside is that device access is no longer cached (ie. depends on the host OS now), the upside is that the code is greatly simplified. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22886 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
c0737fa86da0f097155d5ee2835a66707449e78c |
|
14-Oct-2007 |
Axel Dörfler <axeld@pinc-software.de> |
Fixed warnings. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22566 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
42cd7306a81f02f0b2d7d3ac7761a55156d0188f |
|
26-Sep-2007 |
Axel Dörfler <axeld@pinc-software.de> |
Renamed "dos" file system to "fat". git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22316 a95241bf-73f2-0310-859d-f6bbb57e9c96
|