#
88255e08 |
|
26-Oct-2018 |
François Revol <revol@free.fr> |
BFS: Add support for building big-endian BFS I tried to use the feature stuff to relocate objects but didn't managed to get it to work, having another subdir seems to be the simplest solution. I managed to mount a clone of my BeBox' drive, but it KDLed shortly when mouting read-write. Change-Id: Ia4f126673e553e4f3e524a40218e6c623527b96d Reviewed-on: https://review.haiku-os.org/c/645 Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
|
#
aa775038 |
|
05-Jul-2012 |
ahenriksson <sausageboy@gmail.com> |
bfs: split checkfs code into FileSystemVisitor and CheckVisitor Another FileSystemVisitor implementation will be used for resizing Change-Id: I2d5f47dcbefb4c76834487b194a99c6f5ae7de50 Reviewed-on: https://review.haiku-os.org/c/923 Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
|
#
a558d185 |
|
22-Jun-2015 |
Adrien Destugues <pulkomandy@pulkomandy.tk> |
Revert "filesystems: we aren't BeOS, so we can safely use -O2(+)." This reverts commit ae495ca8fe9e48dea982cf522c5c54c56dffb9fd. My system volume was mysteriously corrupted while booting or shutting down today, enough to make it unbootable and KDL on attempt to mount it. I'm assuming our gcc2 still isn't safe with regard to -O2 optimization of filesystems, and revert this, until proven wrong (eg. by running test suites and FS stress tests and finding no issues. Axel comented on the commit saying it probably was not a good idea, but no action was taken. Should we setup a better commit review system?
|
#
ae495ca8 |
|
08-May-2015 |
Augustin Cavalier <waddlesplash@gmail.com> |
filesystems: we aren't BeOS, so we can safely use -O2(+).
|
#
de9c0613 |
|
03-Jul-2014 |
Axel Dörfler <axeld@pinc-software.de> |
bfs: Use the QueryParserUtils instead of its own copy. * Ingo copied the methods into a shared location, and then obviously "forgot" to let BFS use them. As a side note for Ingo: the complete error GCC reported was "std::fssh_size_t" not defined with the macro wrapper as code location. The actual problem was a "using std::size_t" in some C++ header that accidentally got included after the wrapper. * The shared Query code is not yet used. That'll be done another time. * Renamed BFS_SHELL define to FS_SHELL, such that QueryParserUtils can be used in any file system shell, not just the bfs_shell.
|
#
87d5beae |
|
09-Mar-2012 |
Axel Dörfler <axeld@pinc-software.de> |
Made the duplicate_array endian safe. Cleanup. * Renamed the sorted_array to duplicate_array (which was only a typedef before), and moved it into the BPlusTree.cpp file, as its specific to that one. * Utilities.cpp is no longer needed. * Introduced endian safe getters/setters so that little endian BFS volumes should now work fine on a big endian architecture.
|
#
08e6655a |
|
05-Nov-2010 |
Stephan Aßmus <superstippi@gmx.de> |
Patch by kaliber (ticket #6333): Removed many instances of passing an additional -Wall to the compiler, which may actually have unwanted effects. -Wall is standard by the build system. Also, -Wno-multichar was passed unnecessarily for Haiku targets. I didn't remove it for the bfs_shell, hope this is what Ingo meant in the ticket. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39314 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
98697fac |
|
08-Mar-2009 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
The private IORequest.h header isn't used anymore. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29461 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
7f57b05f |
|
13-Aug-2008 |
Axel Dörfler <axeld@pinc-software.de> |
* Temporarily use the private I/O request API to decide whether or not the request is a write request. * This closes bug #2579, thanks BGA for the investigation! git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26958 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
03fa417b |
|
07-Jul-2008 |
Axel Dörfler <axeld@pinc-software.de> |
* Removed the home-brewn locking classes in BFS besides the read/write lock (for now). * Inode::fSmallDataLock is now a recursive_lock, Journal::fLock is now a recursive_lock, too, Journal::fEntriesLock is now a mutex, as is BPlusTree::fIteratorLock. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26298 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
370fc8c9 |
|
09-May-2008 |
Stephan Aßmus <superstippi@gmx.de> |
Fix the build. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25397 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
8e8edffc |
|
29-Apr-2008 |
Axel Dörfler <axeld@pinc-software.de> |
* Fixed at least the "dd" part of bug #2148: the second double indirect array block would be incorrectly addressed when allocating a stream - this could cause random blocks to be overwritten, and therefore could cause many sorts of problems. * Moved BFS_TRACING macro to the tracing_config.h file, and let it follow the new semantics of those other macros in there. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25249 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
c59c68c5 |
|
19-Jan-2008 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Build with RTTI. Needed for soon to come tracing feature (well, we could also move the thread ID from AbstractTraceEntry to TraceEntry). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23657 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
d7477802 |
|
12-Jan-2008 |
Axel Dörfler <axeld@pinc-software.de> |
* Made the additions of the KDL debugger commands independant from the DEBUG macro; they are now added only if BFS_DEBUGGER_COMMANDS is defined (which is now done by default in the Jamfile). * Added "bfs" KDL command which dumps volume information and the super block. * Made use of the new tracing API to trace block and inode actions (and the new AbstractTraceEntry class I forgot to mention in the last commit). Is compiled in only when BFS_TRACING is enabled (defaults to off in the standard builds). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23464 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
57225f03 |
|
10-Nov-2007 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Moved helper function to check initialization parameters to separate source file. Added function to check the volume name. * Removed bfs_validate_initialize(). This functionality is to be implemented in a userland add-on. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22871 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
5682fde4 |
|
26-Mar-2007 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
OPTIM is reset for each subdir anyway. No need to do that manually. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20433 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
fc317af2 |
|
23-Jan-2007 |
Axel Dörfler <axeld@pinc-software.de> |
Writing to attributes was deadlock prone; the BFS volume lock was acquired with the BFS Journal lock held. Since our get_vnode() is no longer unsafe (unlike Be's version of it), we can get rid of the UNSAFE_GET_VNODE stuff, which also solves this bug. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19916 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
c49e0c68 |
|
18-Sep-2006 |
Jérôme Duval <korli@users.berlios.de> |
dropped a useless arg of the KernelAddon rule, hope I don't mess anything git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18879 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
338b8dc3 |
|
29-Oct-2005 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Merged changes from branch build_system_redesign at revision 14573. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14574 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
47f39c93 |
|
23-May-2005 |
Axel Dörfler <axeld@pinc-software.de> |
Merged the disk device manager module interface for file systems with the VFS's interface, so that a file system only has to implement one interface. As a side effect, the automatic file system detection may now work (not yet tested, though). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12786 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
900849fa |
|
13-Apr-2005 |
Axel Dörfler <axeld@pinc-software.de> |
Since objects/.../system/kernel is now a directory, the kernel target is now called kernel_${arch} like on disk. A "jam kernel" will still work, though. Also updated all those Jamfiles I forgot to update before. Since makehdimage now runs through (and even builds a working image), I guess most of the consequences of the "kernel/core" -> "system/kernel" rename task are solved. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12364 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
d48f7182 |
|
07-Dec-2004 |
Axel Dörfler <axeld@pinc-software.de> |
Enabled full attribute support under the Haiku kernel. It's not as clean as it could, but it works for now. git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10377 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
fb02804a |
|
19-Nov-2004 |
Axel Dörfler <axeld@pinc-software.de> |
Big update while moving over completely to the Haiku kernel: - Ported over BFS to the new cache API - Inode no longer inherits from CachedBlock, and therefore, no longer keeps the whole inode block in memory. It now has a copy of the bfs_inode structure in memory instead. This has a number of advantages but also some disadvantages, so it might be reverted later, even if it's unlikely. - Added a NodeGetter class that can be used whenever the real block needs to be accessed (ie. for attributes) - Changed *transaction to &transaction where possible - Removed support for KEEP_WRONG_DIRENT_RECLEN - Removed support for uncached file access since that's no longer needed - Fixed some endian issues in bfs_write_stat() - Removed the install BFS rules, since they don't make any sense anymore (unless you are running Haiku ;-)) Note, logged streams are not supported anymore right now. Also, the transaction code is pretty simple and slow - it will be improved later on. Attribute code is pretty much untested in the new environment. git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10053 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
f4b08fea |
|
03-Nov-2004 |
Axel Dörfler <axeld@pinc-software.de> |
This fixes the build of the R5 version. git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9779 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
ec3d3e05 |
|
25-Oct-2004 |
Axel Dörfler <axeld@pinc-software.de> |
Implemented the Disk Device Manager Scanning API. It's currently exported as a separate module, but might be merged with the standard FS API. git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9504 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
a4e05e61 |
|
06-Sep-2004 |
Axel Dörfler <axeld@pinc-software.de> |
Added a "cookie" parameter to the fs_read|write|has_page[s](). Implemented bfs_get_file_map(). Now uses the brand new file cache for the file data streams. git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8877 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
2b89e0b3 |
|
07-Jun-2004 |
Axel Dörfler <axeld@pinc-software.de> |
Now builds two file systems: "bfs" is now the file system for the new kernel, while "bfs_r5" or "obfs_r5" is the one for the R5/Zeta kernel. git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7826 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
c697a0f4 |
|
05-May-2004 |
Axel Dörfler <axeld@pinc-software.de> |
When you now set COMPILE_FOR_ZETA=1 on the command line when jamming, the api version will be set to 3 as required for Dano/Zeta - apparently, the previous mechanism doesn't work with our headers, as we don't define B_BEOS_VERSION_DANO at all :) Fixed the build again (because of the stdio switch). git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7428 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
4e936bb7 |
|
04-May-2004 |
Bruno G. Albuquerque <bga@bug-br.org.br> |
Now when BFS_REPLACEMENT is set, the name used for the add-on is "bfs" instead of "obfs" (thanks Ingo). Also, changed the destination directory. It was formelly "beos/system/add-ons/kernel/file_systems/bfs/" and now it is "beos/system/add-ons/kernel/file_systems/" (as it should be). git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7411 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
b1e75231 |
|
03-May-2004 |
Bruno G. Albuquerque <bga@bug-br.org.br> |
Ops! :) git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7404 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
e4758ac3 |
|
03-May-2004 |
Bruno G. Albuquerque <bga@bug-br.org.br> |
Added BFS_REPLACEMENT define that will enable compiling OpenBFS as as full BFS replacement (will report itself as "bfs" instead of "obfs". Is there a way to change the add-on name based on the same define? git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7403 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
36660c5e |
|
29-Jan-2004 |
Axel Dörfler <axeld@pinc-software.de> |
Switched from direct get_vnode() usage to the Vnode class. Now acquires the volume lock always before get_vnode() is called as long as UNSAFE_GET_VNODE is defined (which now is by default). May cause some unwanted side-effects; it still has to be thorougly tested. git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6424 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
54343bbc |
|
25-Jan-2004 |
Axel Dörfler <axeld@pinc-software.de> |
Switched to kernel_cpp.h/cpp. git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6291 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
cb94280c |
|
16-Sep-2003 |
Axel Dörfler <axeld@pinc-software.de> |
The file system is now almost endian-aware. Used lazy unreadable conversion: ==, !=, == 0, != 0 are endian-safe and don't need byte swapping. If the platform endian differs from the one selected at compile time, it will mount all volumes read-only for now. Uncomment BFS_BIG_ENDIAN_ONLY in the Jamfile to build the big endian version under x86. No matter on what platform, the compilation defaults to build BFS as little endian file system (see bfs_endian.h for details). git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4715 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
c1b7aba3 |
|
26-Aug-2003 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Changes reflecting the change of semantics of the DEBUG variable. git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4383 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
d62fee51 |
|
25-Feb-2003 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
The global OPTIM variable is now reset at the end of the file. git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2846 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
5d600858 |
|
24-Feb-2003 |
Axel Dörfler <axeld@pinc-software.de> |
Now compiles with -Wall (why aren't we using that as default anyway?) git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2835 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
7ab95d9d |
|
21-Oct-2002 |
Axel Dörfler <axeld@pinc-software.de> |
Made it easier to switch from R5 compilation to the test "obfs" compilation. $ COMPILE_FOR_R5=1 jam will compile the "bfs" version, otherwise the "obfs" version is created. Note: the final executable will always be called obfs (for now). git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1591 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
f1e38490 |
|
08-Sep-2002 |
Axel Dörfler <axeld@pinc-software.de> |
If debugging is disabled and the "release build" of BFS is done, optimization is no only "-O1", since gcc obviously produces bad code if compiled with more. git-svn-id: file:///srv/svn/repos/haiku/trunk/current@996 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
ba04be1d |
|
19-Aug-2002 |
Axel Dörfler <axeld@pinc-software.de> |
Fixed the dirent.d_reclen calculation - define KEEP_WRONG_DIRENT_RECLEN to enable the old and compatible behaviour (on BeOS R5, all available file systems seem to do that wrong). git-svn-id: file:///srv/svn/repos/haiku/trunk/current@826 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
ba5530fd |
|
13-Aug-2002 |
Axel Dörfler <axeld@pinc-software.de> |
Now only "jam install" triggers the installation of bfs (in this directory only). git-svn-id: file:///srv/svn/repos/haiku/trunk/current@756 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
8a1faae7 |
|
13-Aug-2002 |
Axel Dörfler <axeld@pinc-software.de> |
Fixed the build process of bfs; -g and -O2 don't mix well together... To enable debug output, type: $ DEBUG=1 jam Also, it's now automatically installed in /boot/home/config/add-ons/kernel/file_systems git-svn-id: file:///srv/svn/repos/haiku/trunk/current@751 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
40f7fd6c |
|
07-Aug-2002 |
Axel Dörfler <axeld@pinc-software.de> |
Implemented the basics to allow uncached file access under BeOS. This is needed for the VM swap file and if you want to mount disk images located on the BFS volume. There is now a BufferPool class that manages a pool of buffers, so that Inode::ReadAt()/Inode::WriteAt() can access a file without having to use the cache or malloc()/free(). The real uncached file access is not yet implemented, though. git-svn-id: file:///srv/svn/repos/haiku/trunk/current@643 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
c42ee134 |
|
07-Aug-2002 |
Axel Dörfler <axeld@pinc-software.de> |
Initial revision git-svn-id: file:///srv/svn/repos/haiku/trunk/current@639 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
a558d185272e619fc8f2c75e3eca9f3161a6b45b |
|
22-Jun-2015 |
Adrien Destugues <pulkomandy@pulkomandy.tk> |
Revert "filesystems: we aren't BeOS, so we can safely use -O2(+)." This reverts commit ae495ca8fe9e48dea982cf522c5c54c56dffb9fd. My system volume was mysteriously corrupted while booting or shutting down today, enough to make it unbootable and KDL on attempt to mount it. I'm assuming our gcc2 still isn't safe with regard to -O2 optimization of filesystems, and revert this, until proven wrong (eg. by running test suites and FS stress tests and finding no issues. Axel comented on the commit saying it probably was not a good idea, but no action was taken. Should we setup a better commit review system?
|
#
ae495ca8fe9e48dea982cf522c5c54c56dffb9fd |
|
08-May-2015 |
Augustin Cavalier <waddlesplash@gmail.com> |
filesystems: we aren't BeOS, so we can safely use -O2(+).
|
#
de9c0613398645390b8d450089051b2888e2e15b |
|
03-Jul-2014 |
Axel Dörfler <axeld@pinc-software.de> |
bfs: Use the QueryParserUtils instead of its own copy. * Ingo copied the methods into a shared location, and then obviously "forgot" to let BFS use them. As a side note for Ingo: the complete error GCC reported was "std::fssh_size_t" not defined with the macro wrapper as code location. The actual problem was a "using std::size_t" in some C++ header that accidentally got included after the wrapper. * The shared Query code is not yet used. That'll be done another time. * Renamed BFS_SHELL define to FS_SHELL, such that QueryParserUtils can be used in any file system shell, not just the bfs_shell.
|
#
87d5beae86a208ed47523046cf7f28ac717af969 |
|
09-Mar-2012 |
Axel Dörfler <axeld@pinc-software.de> |
Made the duplicate_array endian safe. Cleanup. * Renamed the sorted_array to duplicate_array (which was only a typedef before), and moved it into the BPlusTree.cpp file, as its specific to that one. * Utilities.cpp is no longer needed. * Introduced endian safe getters/setters so that little endian BFS volumes should now work fine on a big endian architecture.
|
#
08e6655afee625a44a411570694d0c2e9a024bbc |
|
05-Nov-2010 |
Stephan Aßmus <superstippi@gmx.de> |
Patch by kaliber (ticket #6333): Removed many instances of passing an additional -Wall to the compiler, which may actually have unwanted effects. -Wall is standard by the build system. Also, -Wno-multichar was passed unnecessarily for Haiku targets. I didn't remove it for the bfs_shell, hope this is what Ingo meant in the ticket. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39314 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
98697fac693747bf15a65858a2ec056c7b6bc47b |
|
08-Mar-2009 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
The private IORequest.h header isn't used anymore. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29461 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
7f57b05f1dc4c8f355a72d9315ec0dba6e065a41 |
|
13-Aug-2008 |
Axel Dörfler <axeld@pinc-software.de> |
* Temporarily use the private I/O request API to decide whether or not the request is a write request. * This closes bug #2579, thanks BGA for the investigation! git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26958 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
03fa417b706f63305263982a61eb1002e6ff9d96 |
|
07-Jul-2008 |
Axel Dörfler <axeld@pinc-software.de> |
* Removed the home-brewn locking classes in BFS besides the read/write lock (for now). * Inode::fSmallDataLock is now a recursive_lock, Journal::fLock is now a recursive_lock, too, Journal::fEntriesLock is now a mutex, as is BPlusTree::fIteratorLock. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26298 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
370fc8c9077c01945dda6658f220b39fa949f315 |
|
09-May-2008 |
Stephan Aßmus <superstippi@gmx.de> |
Fix the build. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25397 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
8e8edffce7fdf16a8ae17b2de36bffa05082114e |
|
29-Apr-2008 |
Axel Dörfler <axeld@pinc-software.de> |
* Fixed at least the "dd" part of bug #2148: the second double indirect array block would be incorrectly addressed when allocating a stream - this could cause random blocks to be overwritten, and therefore could cause many sorts of problems. * Moved BFS_TRACING macro to the tracing_config.h file, and let it follow the new semantics of those other macros in there. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25249 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
c59c68c5e00deb30bf4c382593ce28d9546af0cb |
|
19-Jan-2008 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Build with RTTI. Needed for soon to come tracing feature (well, we could also move the thread ID from AbstractTraceEntry to TraceEntry). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23657 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
d7477802b8a5451ce525646fd2d4b13ef449c455 |
|
12-Jan-2008 |
Axel Dörfler <axeld@pinc-software.de> |
* Made the additions of the KDL debugger commands independant from the DEBUG macro; they are now added only if BFS_DEBUGGER_COMMANDS is defined (which is now done by default in the Jamfile). * Added "bfs" KDL command which dumps volume information and the super block. * Made use of the new tracing API to trace block and inode actions (and the new AbstractTraceEntry class I forgot to mention in the last commit). Is compiled in only when BFS_TRACING is enabled (defaults to off in the standard builds). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23464 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
57225f0367dd88447cb87714cae045e76b9ec9c0 |
|
10-Nov-2007 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Moved helper function to check initialization parameters to separate source file. Added function to check the volume name. * Removed bfs_validate_initialize(). This functionality is to be implemented in a userland add-on. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22871 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
5682fde43936a0cfecc2a0d6e6bed6e767daab71 |
|
26-Mar-2007 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
OPTIM is reset for each subdir anyway. No need to do that manually. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20433 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
fc317af25e51b2c96c416b3d1fc01e3f0b168595 |
|
23-Jan-2007 |
Axel Dörfler <axeld@pinc-software.de> |
Writing to attributes was deadlock prone; the BFS volume lock was acquired with the BFS Journal lock held. Since our get_vnode() is no longer unsafe (unlike Be's version of it), we can get rid of the UNSAFE_GET_VNODE stuff, which also solves this bug. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19916 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
c49e0c68b013ebe90a3a48d5e98b5788ba2e6542 |
|
18-Sep-2006 |
Jérôme Duval <korli@users.berlios.de> |
dropped a useless arg of the KernelAddon rule, hope I don't mess anything git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18879 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
338b8dc301721b1f472e8297a898d4eaa2f2ee3a |
|
29-Oct-2005 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Merged changes from branch build_system_redesign at revision 14573. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14574 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
47f39c93cbd7db06e72642b047f1fc327852684c |
|
23-May-2005 |
Axel Dörfler <axeld@pinc-software.de> |
Merged the disk device manager module interface for file systems with the VFS's interface, so that a file system only has to implement one interface. As a side effect, the automatic file system detection may now work (not yet tested, though). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12786 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
900849fa0dbc41731df2958c4670042786f7afc2 |
|
13-Apr-2005 |
Axel Dörfler <axeld@pinc-software.de> |
Since objects/.../system/kernel is now a directory, the kernel target is now called kernel_${arch} like on disk. A "jam kernel" will still work, though. Also updated all those Jamfiles I forgot to update before. Since makehdimage now runs through (and even builds a working image), I guess most of the consequences of the "kernel/core" -> "system/kernel" rename task are solved. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12364 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
d48f7182eb8750dfe386f0d2c3404c99e61b8065 |
|
07-Dec-2004 |
Axel Dörfler <axeld@pinc-software.de> |
Enabled full attribute support under the Haiku kernel. It's not as clean as it could, but it works for now. git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10377 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
fb02804a89b1100c0f20c3e3c28be28215103c44 |
|
19-Nov-2004 |
Axel Dörfler <axeld@pinc-software.de> |
Big update while moving over completely to the Haiku kernel: - Ported over BFS to the new cache API - Inode no longer inherits from CachedBlock, and therefore, no longer keeps the whole inode block in memory. It now has a copy of the bfs_inode structure in memory instead. This has a number of advantages but also some disadvantages, so it might be reverted later, even if it's unlikely. - Added a NodeGetter class that can be used whenever the real block needs to be accessed (ie. for attributes) - Changed *transaction to &transaction where possible - Removed support for KEEP_WRONG_DIRENT_RECLEN - Removed support for uncached file access since that's no longer needed - Fixed some endian issues in bfs_write_stat() - Removed the install BFS rules, since they don't make any sense anymore (unless you are running Haiku ;-)) Note, logged streams are not supported anymore right now. Also, the transaction code is pretty simple and slow - it will be improved later on. Attribute code is pretty much untested in the new environment. git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10053 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
f4b08feaac433b177025b50aebd5d32503a0db1e |
|
03-Nov-2004 |
Axel Dörfler <axeld@pinc-software.de> |
This fixes the build of the R5 version. git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9779 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
ec3d3e05fe484c061ea1fe1b4aa59d8f679b66cd |
|
25-Oct-2004 |
Axel Dörfler <axeld@pinc-software.de> |
Implemented the Disk Device Manager Scanning API. It's currently exported as a separate module, but might be merged with the standard FS API. git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9504 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
a4e05e618a467d1af0433cde51683a33580ce6cc |
|
06-Sep-2004 |
Axel Dörfler <axeld@pinc-software.de> |
Added a "cookie" parameter to the fs_read|write|has_page[s](). Implemented bfs_get_file_map(). Now uses the brand new file cache for the file data streams. git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8877 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
2b89e0b32f14a2d83f656db26abc394051745bde |
|
07-Jun-2004 |
Axel Dörfler <axeld@pinc-software.de> |
Now builds two file systems: "bfs" is now the file system for the new kernel, while "bfs_r5" or "obfs_r5" is the one for the R5/Zeta kernel. git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7826 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
c697a0f4ccedb3a7985352b6373cbe62be9fd1d2 |
|
05-May-2004 |
Axel Dörfler <axeld@pinc-software.de> |
When you now set COMPILE_FOR_ZETA=1 on the command line when jamming, the api version will be set to 3 as required for Dano/Zeta - apparently, the previous mechanism doesn't work with our headers, as we don't define B_BEOS_VERSION_DANO at all :) Fixed the build again (because of the stdio switch). git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7428 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
4e936bb759242d9e8022dc6ad69e64f78b9b1e0d |
|
04-May-2004 |
Bruno G. Albuquerque <bga@bug-br.org.br> |
Now when BFS_REPLACEMENT is set, the name used for the add-on is "bfs" instead of "obfs" (thanks Ingo). Also, changed the destination directory. It was formelly "beos/system/add-ons/kernel/file_systems/bfs/" and now it is "beos/system/add-ons/kernel/file_systems/" (as it should be). git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7411 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
b1e752314f6ea15168c26eef1c1449fea56f825a |
|
03-May-2004 |
Bruno G. Albuquerque <bga@bug-br.org.br> |
Ops! :) git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7404 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
e4758ac3824ebcac1e9862668512762f8a879dde |
|
03-May-2004 |
Bruno G. Albuquerque <bga@bug-br.org.br> |
Added BFS_REPLACEMENT define that will enable compiling OpenBFS as as full BFS replacement (will report itself as "bfs" instead of "obfs". Is there a way to change the add-on name based on the same define? git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7403 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
36660c5e9996909146d3872baa555115357f9267 |
|
29-Jan-2004 |
Axel Dörfler <axeld@pinc-software.de> |
Switched from direct get_vnode() usage to the Vnode class. Now acquires the volume lock always before get_vnode() is called as long as UNSAFE_GET_VNODE is defined (which now is by default). May cause some unwanted side-effects; it still has to be thorougly tested. git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6424 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
54343bbc2d49684c7d85169ba9a4bab7fc53fac8 |
|
25-Jan-2004 |
Axel Dörfler <axeld@pinc-software.de> |
Switched to kernel_cpp.h/cpp. git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6291 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
cb94280c6b8450b48764df889cdf0a8fd19af64b |
|
16-Sep-2003 |
Axel Dörfler <axeld@pinc-software.de> |
The file system is now almost endian-aware. Used lazy unreadable conversion: ==, !=, == 0, != 0 are endian-safe and don't need byte swapping. If the platform endian differs from the one selected at compile time, it will mount all volumes read-only for now. Uncomment BFS_BIG_ENDIAN_ONLY in the Jamfile to build the big endian version under x86. No matter on what platform, the compilation defaults to build BFS as little endian file system (see bfs_endian.h for details). git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4715 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
c1b7aba392b1ea358027283127db72cf42ba2769 |
|
26-Aug-2003 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Changes reflecting the change of semantics of the DEBUG variable. git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4383 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
d62fee51423725d5bc39b19f16636d1b3d26d43f |
|
25-Feb-2003 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
The global OPTIM variable is now reset at the end of the file. git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2846 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
5d60085846f9e73acc43e1fe0c890a7c55f7b00d |
|
24-Feb-2003 |
Axel Dörfler <axeld@pinc-software.de> |
Now compiles with -Wall (why aren't we using that as default anyway?) git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2835 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
7ab95d9da94ccc3df95e8b2d97e1c2f71b100b97 |
|
21-Oct-2002 |
Axel Dörfler <axeld@pinc-software.de> |
Made it easier to switch from R5 compilation to the test "obfs" compilation. $ COMPILE_FOR_R5=1 jam will compile the "bfs" version, otherwise the "obfs" version is created. Note: the final executable will always be called obfs (for now). git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1591 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
f1e38490ebc4590bfea7ceb1e24bd976c9394577 |
|
08-Sep-2002 |
Axel Dörfler <axeld@pinc-software.de> |
If debugging is disabled and the "release build" of BFS is done, optimization is no only "-O1", since gcc obviously produces bad code if compiled with more. git-svn-id: file:///srv/svn/repos/haiku/trunk/current@996 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
ba04be1db056769234a3b572138e5a7b916adb4d |
|
19-Aug-2002 |
Axel Dörfler <axeld@pinc-software.de> |
Fixed the dirent.d_reclen calculation - define KEEP_WRONG_DIRENT_RECLEN to enable the old and compatible behaviour (on BeOS R5, all available file systems seem to do that wrong). git-svn-id: file:///srv/svn/repos/haiku/trunk/current@826 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
ba5530fdc9b6a864960c7c756dacd522a760dfaf |
|
13-Aug-2002 |
Axel Dörfler <axeld@pinc-software.de> |
Now only "jam install" triggers the installation of bfs (in this directory only). git-svn-id: file:///srv/svn/repos/haiku/trunk/current@756 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
8a1faae799346021744f17311b6867e42c2dc77f |
|
13-Aug-2002 |
Axel Dörfler <axeld@pinc-software.de> |
Fixed the build process of bfs; -g and -O2 don't mix well together... To enable debug output, type: $ DEBUG=1 jam Also, it's now automatically installed in /boot/home/config/add-ons/kernel/file_systems git-svn-id: file:///srv/svn/repos/haiku/trunk/current@751 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
40f7fd6cf3371d69b9d78ca406058a93648cf18c |
|
07-Aug-2002 |
Axel Dörfler <axeld@pinc-software.de> |
Implemented the basics to allow uncached file access under BeOS. This is needed for the VM swap file and if you want to mount disk images located on the BFS volume. There is now a BufferPool class that manages a pool of buffers, so that Inode::ReadAt()/Inode::WriteAt() can access a file without having to use the cache or malloc()/free(). The real uncached file access is not yet implemented, though. git-svn-id: file:///srv/svn/repos/haiku/trunk/current@643 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
c42ee13401be80c431846910959d587949a1ad10 |
|
07-Aug-2002 |
Axel Dörfler <axeld@pinc-software.de> |
Initial revision git-svn-id: file:///srv/svn/repos/haiku/trunk/current@639 a95241bf-73f2-0310-859d-f6bbb57e9c96
|