#
cba63b64 |
|
05-Jan-2021 |
Adrien Destugues <adrien.destugues@opensource.viveris.fr> |
bfs: build fix. I built only the bootloader for sparc when testing, so some code was disabled because it's guarded by _BOOT_MODE. Confirmed that the generated assembler is not larger than before (the disassembly file is the same size, but for some reason functions were in a different order, making it difficult to compare more closely)
|
#
1c24ebaa |
|
22-Jul-2012 |
Alex Smith <alex@alex-smith.me.uk> |
64-bit compilation fixes for BFS, add to x86_64 boot image.
|
#
5868dfb9 |
|
31-Mar-2012 |
Axel Dörfler <axeld@pinc-software.de> |
Reverted r43922, and instead improved bfs_block_runs command. * Calling FindBlockRun() would only work for the direct range anyway, as it would need to call into the block cache for anything else. * bfs_block_runs now accepts a few more arguments that make finding an offset much easier.
|
#
dcfb930a |
|
31-Mar-2012 |
Axel Dörfler <axeld@pinc-software.de> |
Improved bfs_inode KDL command.
|
#
950f37b2 |
|
13-Oct-2010 |
Jérôme Duval <korli@users.berlios.de> |
* renamed bfs_inode::ToUsecs() to bfs_inode::ToNsecs, as it really converts to nanoseconds. * added a comment explaining the nanoseconds conversion git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38965 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
cf844822 |
|
24-Nov-2009 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Added B_PRIdTIME and B_PRIiTIME macros (for time_t). * Added FSSH_[S]SIZE_MAX to headers/private/fs_shell/fssh_types.h. * Fixed various 64 bit compiler warnings. Nothing too serious, though. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34241 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
8859eeab |
|
24-Nov-2009 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Replaced "%Ld" and "%lld" in printf()s by the new B_PRI* macros to avoid warnings when building with a 64 bit compiler. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34216 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
1a60fd72 |
|
06-Aug-2009 |
Axel Dörfler <axeld@pinc-software.de> |
* Replaced the Inode::GetTree() method with a simple getter - the tree is always created for directories since quite some time now. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32158 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
529c716d |
|
29-Jul-2009 |
Axel Dörfler <axeld@pinc-software.de> |
* Improved bfs_inode command. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31943 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
e4944941 |
|
15-Jun-2009 |
Axel Dörfler <axeld@pinc-software.de> |
* Cleanup of how the time is converted between bfs_inode and the outside world: there is now a couple of conversion functions, and I changed the type from bigtime_t to int64, as it's not what a bigtime_t would usually contain, but some shift magic in order to make duplicate index entries less likely. * We now correctly fill in the timespec in struct stat as good as possible; the 12 of the 16 possible bits are used for the nano second value. The lower 8 bits are used to avoid the duplicate index entries. Only if the nano second time is 0, the lower 12 bits are used to achieve that. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31057 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
e07e5540 |
|
02-Jun-2009 |
Axel Dörfler <axeld@pinc-software.de> |
* Removed debug output of the old pad fields that no longer exist. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30947 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
33203f67 |
|
25-May-2009 |
Oliver Tappe <zooey@hirschkaefer.de> |
* added support for ctime to BFS by grabbing two of the pad-fields * added TODO about a sanity check that should perhaps be dropped I checked this change with both a haiku-BFS partition and one from R5 git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30852 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
37e5be59 |
|
03-May-2009 |
Axel Dörfler <axeld@pinc-software.de> |
* Replaced the Print() macro with a direct call to kprintf(). * Before, it would incorrectly resolve to the __out() macro which was defined as dprintf() when compiled for the kernel -- this could deadlock KDL, though. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30614 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
992fba36 |
|
16-Apr-2009 |
Axel Dörfler <axeld@pinc-software.de> |
* There is now a list of removed vnodes in Volume - while asking the VFS for this seemed to be a good idea, there is one race condition that cannot be solved otherwise (the vnode must be added/removed to that list while holding the transaction lock, and we cannot guarantee that in the VFS). * We are using an unused area of the in-memory bfs_inode to store the list links (bfs_inode::pad - this will also work on 64 bit platforms). * Inode no longer adds a singly linked list link - the transaction list now shares the doubly linked list with the removed vnodes list. * Added an in-memory flag INODE_IN_TRANSACTION to avoid searching an inode to be added in the list. * Removing an attribute directory did not hold its write lock. * If removing an attribute failed for some reason, the INODE_DELETED flag was not removed (the transaction would not have failed because of that). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30203 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
9ec59fc9 |
|
09-Apr-2009 |
Axel Dörfler <axeld@pinc-software.de> |
* Improved tracing of the allocations at block level. * Turned on extra check on allocation when KDEBUG is set. * The "bfs" KDL command now also prints the block bitmap block for the specified block. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30079 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
624d9347 |
|
03-Nov-2008 |
Axel Dörfler <axeld@pinc-software.de> |
* Improved output of "bfs" command. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28477 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
a8744b0e |
|
14-Oct-2008 |
Axel Dörfler <axeld@pinc-software.de> |
* Each allocation group now lazily maintains the largest free block separately, so that allocations can be directly fulfilled from that block without having to search for it. * This should further improve the allocator's performance, but it could need more tuning (ie. when to rebuild the free block). * Added debugging code to check if the largest block is maintained correctly; it's currently turned on (DEBUG_ALLOCATION_GROUPS) which makes allocations actually pretty slow - I'll disable it again after it has been tested a bit more. * Added a "bfs_allocator_blocks" KDL command that allows you to show all tracing entries that affect a specific block (only available if BFS has been compiled with tracing support). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28111 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
1be4b7c0 |
|
04-Aug-2008 |
Axel Dörfler <axeld@pinc-software.de> |
* Build fix when built with DEBUG defined. * Forgot to remove the "bfs_block_runs" debugger command on module unload. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26800 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
1a168f3f |
|
04-Aug-2008 |
Axel Dörfler <axeld@pinc-software.de> |
* Added KDL command "bfs_block_runs" which shows the blocks runs in an array. * The "bfs" KDL command now also accepts ',' as group/start delimiter in a block_run. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26793 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
a0a18e64 |
|
20-Jul-2008 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
bonefish + mmlr + axeld: * The "bfs" KDL command parsed the optional block_run::start parameter incorrectly. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26530 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
f02e1e36 |
|
20-Jul-2008 |
Axel Dörfler <axeld@pinc-software.de> |
* The "bfs_inode" KDL command now prints out some additional information contained in the inode object when available (ie. when you don't use the '-b' option). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26524 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
e7ad2659 |
|
29-Apr-2008 |
Axel Dörfler <axeld@pinc-software.de> |
* The "bfs" KDL command can now also convert block offsets to block_runs and vice versa. * Some cleanup. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25248 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
797a92d8 |
|
07-Apr-2008 |
Axel Dörfler <axeld@pinc-software.de> |
* Made super block log handling endian-safe. * Made all debugging functions endian-safe. * Added tracing for log entries. * Added new KDL command "bfs_journal" to dump all pending log entries. * When BFS_DEBUGGER_COMMANDS is defined, the LogEntry class will also track the transaction ID it belonged to. * The "bfs" KDL command now sets some useful debugger variables. * The "bfs_allocator" KDL command now accepts the group index as 3rd argument. * Renamed Journal::_TransactionListener() to _TransactionIdle(), as that's all it is for. * Removed TODO comment in Volume::WriteSuperBlock(), as it's actually not true. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24852 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
4616b7ed |
|
25-Mar-2008 |
Axel Dörfler <axeld@pinc-software.de> |
* Added "-b" option to the "bfs_inode" command: when this is specified, you can use a pointer to the inode block rather than to the Inode object in memory. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24574 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
5d43cf2a |
|
19-Jan-2008 |
Axel Dörfler <axeld@pinc-software.de> |
* Added new debugger commands bfs_btree_header and bfs_btree_node that dump a B+tree header resp. node. * Use dprintf() when a transaction is too large instead of a panic; even though the file system has to revert the transaction, it's not lethal, and it does not corrupt your disk. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23653 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
09c46ea8 |
|
15-Jan-2008 |
Axel Dörfler <axeld@pinc-software.de> |
* Fixed bug in the BlockAllocator::Allocate() function which did not compute the bit offsets correctly if the last block of the whole bitmap was only a partial block. * Added new bfs_allocator KDL command. * Renamed the KDL command bfsinode to bfs_inode. * Added "--help" argument to bfs_inode and bfs KDL commands. * Added more tracing in the block allocator. * Turned on the ASSERT() macro in non-debug builds. * Minor cleanup. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23534 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
|
#
5acd132f |
|
16-Jun-2007 |
Jérôme Duval <korli@users.berlios.de> |
replaced uint32 by addr_t where it applies to please gcc on x86_64 git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21422 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
3bef51f0 |
|
06-May-2007 |
Axel Dörfler <axeld@pinc-software.de> |
* Removed unused code when USER is defined - the fs_shell no longer does this, but provides a kernel emulation layer. * Renamed all private BPlusTree methods to have the '_' prefix. * Removed useless set_sem_owner() from Lock.h - all semaphores created in the kernel always belong to the system team automatically. * Some cleanup. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21054 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
c391f84b |
|
26-Apr-2007 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Prepared the BFS sources to be used with the new FS shell: - Moved all inclusions of system headers into a new system_dependencies.h header, which conditionally either includes these or the FS shell headers. - Fixed compiler warnings related to printf-like functions (int32 is int, not long on non-BeOS platforms). * Build a new bfs_shell. Compiles and links, but does nothing ATM. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20860 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
6106f57e |
|
26-Feb-2006 |
Stephan Aßmus <superstippi@gmx.de> |
* Didn't allow to write back attributes outside the inode block (they don't have a user accessable stream, but they do have a file cache). * removed superfluous dump_inode() version; the "bfsinfo" debugger command is now a bit more useful as well. * Inode::fAttributes was not initialized when it wasn't used. (coded by axeld) git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16508 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
1509c796 |
|
29-Aug-2005 |
Axel Dörfler <axeld@pinc-software.de> |
The dump_*() functions now expect const parameters, dunno why that was different at all before. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14082 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
|
#
67a14a5e |
|
25-Jan-2004 |
Axel Dörfler <axeld@pinc-software.de> |
Unbroke the debug build (also in user mode). git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6293 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
a893229e |
|
25-Jan-2004 |
Axel Dörfler <axeld@pinc-software.de> |
Cleaned up the debug mess mmu_man has created (thanks anyway!). Switched to kernel_cpp.h/cpp. git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6289 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
1a49a098 |
|
07-Nov-2003 |
Nathan Whitehorn <nwhitehorn@nowhere.fake> |
Bunches of changes to make mwcc like the code. I also coded an _atomic_set() and _atomic_test_and_set() for PowerPC. Of course, there's already one in the kernel tree, but mine's better. :P Now builds (and works, after a fashion) on R5 PowerPC. git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5280 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
cdeaad95 |
|
24-Feb-2003 |
Axel Dörfler <axeld@pinc-software.de> |
Fixed some warnings (due to -Wall). git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2840 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
|
#
1c24ebaa5fdc1d07cd40a296c59463c9477b8fbd |
|
22-Jul-2012 |
Alex Smith <alex@alex-smith.me.uk> |
64-bit compilation fixes for BFS, add to x86_64 boot image.
|
#
5868dfb9890cb4790f1fd4f6d9f8013c1b64337d |
|
31-Mar-2012 |
Axel Dörfler <axeld@pinc-software.de> |
Reverted r43922, and instead improved bfs_block_runs command. * Calling FindBlockRun() would only work for the direct range anyway, as it would need to call into the block cache for anything else. * bfs_block_runs now accepts a few more arguments that make finding an offset much easier.
|
#
dcfb930a98e6a04c1f02147380cc3039f2316d22 |
|
31-Mar-2012 |
Axel Dörfler <axeld@pinc-software.de> |
Improved bfs_inode KDL command.
|
#
950f37b2069f10d297d7192726f70be915a49e80 |
|
13-Oct-2010 |
Jérôme Duval <korli@users.berlios.de> |
* renamed bfs_inode::ToUsecs() to bfs_inode::ToNsecs, as it really converts to nanoseconds. * added a comment explaining the nanoseconds conversion git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38965 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
cf844822db58eed3db11f93243e38503eb1a4b91 |
|
24-Nov-2009 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Added B_PRIdTIME and B_PRIiTIME macros (for time_t). * Added FSSH_[S]SIZE_MAX to headers/private/fs_shell/fssh_types.h. * Fixed various 64 bit compiler warnings. Nothing too serious, though. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34241 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
8859eeab5349da39ee9972ee0943919740754b77 |
|
24-Nov-2009 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Replaced "%Ld" and "%lld" in printf()s by the new B_PRI* macros to avoid warnings when building with a 64 bit compiler. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34216 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
1a60fd72cf588ed0d25028da354261b4d8409c08 |
|
06-Aug-2009 |
Axel Dörfler <axeld@pinc-software.de> |
* Replaced the Inode::GetTree() method with a simple getter - the tree is always created for directories since quite some time now. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32158 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
529c716df332823070e41db137c6db8cfeaba8e4 |
|
29-Jul-2009 |
Axel Dörfler <axeld@pinc-software.de> |
* Improved bfs_inode command. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31943 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
e49449412249a5175d2e69da8a3830121379b46c |
|
15-Jun-2009 |
Axel Dörfler <axeld@pinc-software.de> |
* Cleanup of how the time is converted between bfs_inode and the outside world: there is now a couple of conversion functions, and I changed the type from bigtime_t to int64, as it's not what a bigtime_t would usually contain, but some shift magic in order to make duplicate index entries less likely. * We now correctly fill in the timespec in struct stat as good as possible; the 12 of the 16 possible bits are used for the nano second value. The lower 8 bits are used to avoid the duplicate index entries. Only if the nano second time is 0, the lower 12 bits are used to achieve that. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31057 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
e07e55403cdeb02b9ab759bedeff60265723c611 |
|
02-Jun-2009 |
Axel Dörfler <axeld@pinc-software.de> |
* Removed debug output of the old pad fields that no longer exist. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30947 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
33203f677e24af9885c58e4407faa4cd44f130df |
|
25-May-2009 |
Oliver Tappe <zooey@hirschkaefer.de> |
* added support for ctime to BFS by grabbing two of the pad-fields * added TODO about a sanity check that should perhaps be dropped I checked this change with both a haiku-BFS partition and one from R5 git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30852 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
37e5be59a66fef4444184baf6270d629e718010c |
|
03-May-2009 |
Axel Dörfler <axeld@pinc-software.de> |
* Replaced the Print() macro with a direct call to kprintf(). * Before, it would incorrectly resolve to the __out() macro which was defined as dprintf() when compiled for the kernel -- this could deadlock KDL, though. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30614 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
992fba36eef8b17808a06d483f2fdad90173b01d |
|
16-Apr-2009 |
Axel Dörfler <axeld@pinc-software.de> |
* There is now a list of removed vnodes in Volume - while asking the VFS for this seemed to be a good idea, there is one race condition that cannot be solved otherwise (the vnode must be added/removed to that list while holding the transaction lock, and we cannot guarantee that in the VFS). * We are using an unused area of the in-memory bfs_inode to store the list links (bfs_inode::pad - this will also work on 64 bit platforms). * Inode no longer adds a singly linked list link - the transaction list now shares the doubly linked list with the removed vnodes list. * Added an in-memory flag INODE_IN_TRANSACTION to avoid searching an inode to be added in the list. * Removing an attribute directory did not hold its write lock. * If removing an attribute failed for some reason, the INODE_DELETED flag was not removed (the transaction would not have failed because of that). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30203 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
9ec59fc934e3faebec57771fe94ed5676674ba95 |
|
09-Apr-2009 |
Axel Dörfler <axeld@pinc-software.de> |
* Improved tracing of the allocations at block level. * Turned on extra check on allocation when KDEBUG is set. * The "bfs" KDL command now also prints the block bitmap block for the specified block. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30079 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
624d93479a0c1a77c97f1a934c491b5c3ca58a1e |
|
03-Nov-2008 |
Axel Dörfler <axeld@pinc-software.de> |
* Improved output of "bfs" command. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28477 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
a8744b0ee99cd1972d6dd72ca705c24c326869bf |
|
14-Oct-2008 |
Axel Dörfler <axeld@pinc-software.de> |
* Each allocation group now lazily maintains the largest free block separately, so that allocations can be directly fulfilled from that block without having to search for it. * This should further improve the allocator's performance, but it could need more tuning (ie. when to rebuild the free block). * Added debugging code to check if the largest block is maintained correctly; it's currently turned on (DEBUG_ALLOCATION_GROUPS) which makes allocations actually pretty slow - I'll disable it again after it has been tested a bit more. * Added a "bfs_allocator_blocks" KDL command that allows you to show all tracing entries that affect a specific block (only available if BFS has been compiled with tracing support). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28111 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
1be4b7c0c5aee2c80d83ba5a36eb8945e7de2015 |
|
04-Aug-2008 |
Axel Dörfler <axeld@pinc-software.de> |
* Build fix when built with DEBUG defined. * Forgot to remove the "bfs_block_runs" debugger command on module unload. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26800 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
1a168f3f1fcdef65f9578b5af5399ffa18ef75ff |
|
04-Aug-2008 |
Axel Dörfler <axeld@pinc-software.de> |
* Added KDL command "bfs_block_runs" which shows the blocks runs in an array. * The "bfs" KDL command now also accepts ',' as group/start delimiter in a block_run. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26793 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
a0a18e64f016790890de31b62ffd6a52739724f0 |
|
20-Jul-2008 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
bonefish + mmlr + axeld: * The "bfs" KDL command parsed the optional block_run::start parameter incorrectly. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26530 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
f02e1e36e97e2440f4adcd0590f009c9a68c5742 |
|
20-Jul-2008 |
Axel Dörfler <axeld@pinc-software.de> |
* The "bfs_inode" KDL command now prints out some additional information contained in the inode object when available (ie. when you don't use the '-b' option). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26524 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
e7ad26598a745ec01daaa4cf9f1c1cdb1a605f78 |
|
29-Apr-2008 |
Axel Dörfler <axeld@pinc-software.de> |
* The "bfs" KDL command can now also convert block offsets to block_runs and vice versa. * Some cleanup. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25248 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
797a92d84d79bf10ac426c11fcee064b5bcc4609 |
|
07-Apr-2008 |
Axel Dörfler <axeld@pinc-software.de> |
* Made super block log handling endian-safe. * Made all debugging functions endian-safe. * Added tracing for log entries. * Added new KDL command "bfs_journal" to dump all pending log entries. * When BFS_DEBUGGER_COMMANDS is defined, the LogEntry class will also track the transaction ID it belonged to. * The "bfs" KDL command now sets some useful debugger variables. * The "bfs_allocator" KDL command now accepts the group index as 3rd argument. * Renamed Journal::_TransactionListener() to _TransactionIdle(), as that's all it is for. * Removed TODO comment in Volume::WriteSuperBlock(), as it's actually not true. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24852 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
4616b7ed2792ffafc3e123795912f27dec30fae1 |
|
25-Mar-2008 |
Axel Dörfler <axeld@pinc-software.de> |
* Added "-b" option to the "bfs_inode" command: when this is specified, you can use a pointer to the inode block rather than to the Inode object in memory. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24574 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
5d43cf2a84430afac1c53b996b0030c6d9855f09 |
|
19-Jan-2008 |
Axel Dörfler <axeld@pinc-software.de> |
* Added new debugger commands bfs_btree_header and bfs_btree_node that dump a B+tree header resp. node. * Use dprintf() when a transaction is too large instead of a panic; even though the file system has to revert the transaction, it's not lethal, and it does not corrupt your disk. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23653 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
09c46ea8bd43d9b8ccb6eeaf24f9fd5be4e8291b |
|
15-Jan-2008 |
Axel Dörfler <axeld@pinc-software.de> |
* Fixed bug in the BlockAllocator::Allocate() function which did not compute the bit offsets correctly if the last block of the whole bitmap was only a partial block. * Added new bfs_allocator KDL command. * Renamed the KDL command bfsinode to bfs_inode. * Added "--help" argument to bfs_inode and bfs KDL commands. * Added more tracing in the block allocator. * Turned on the ASSERT() macro in non-debug builds. * Minor cleanup. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23534 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
|
#
5acd132fa47d06377bf58bac6b8d57f4eeec27a7 |
|
16-Jun-2007 |
Jérôme Duval <korli@users.berlios.de> |
replaced uint32 by addr_t where it applies to please gcc on x86_64 git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21422 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
3bef51f0ae9112a7e60576abf6fb0b476b2f6584 |
|
06-May-2007 |
Axel Dörfler <axeld@pinc-software.de> |
* Removed unused code when USER is defined - the fs_shell no longer does this, but provides a kernel emulation layer. * Renamed all private BPlusTree methods to have the '_' prefix. * Removed useless set_sem_owner() from Lock.h - all semaphores created in the kernel always belong to the system team automatically. * Some cleanup. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21054 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
c391f84b2c732398288276bc8354ac4060dc5a4d |
|
26-Apr-2007 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Prepared the BFS sources to be used with the new FS shell: - Moved all inclusions of system headers into a new system_dependencies.h header, which conditionally either includes these or the FS shell headers. - Fixed compiler warnings related to printf-like functions (int32 is int, not long on non-BeOS platforms). * Build a new bfs_shell. Compiles and links, but does nothing ATM. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20860 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
6106f57e218cbdc72d0de30b71ddd9973bbbc9d6 |
|
26-Feb-2006 |
Stephan Aßmus <superstippi@gmx.de> |
* Didn't allow to write back attributes outside the inode block (they don't have a user accessable stream, but they do have a file cache). * removed superfluous dump_inode() version; the "bfsinfo" debugger command is now a bit more useful as well. * Inode::fAttributes was not initialized when it wasn't used. (coded by axeld) git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16508 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
1509c79696c629f7a3e2573ce6fcdc8b2573cfb2 |
|
29-Aug-2005 |
Axel Dörfler <axeld@pinc-software.de> |
The dump_*() functions now expect const parameters, dunno why that was different at all before. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14082 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
|
#
67a14a5ee7e05cff715feb4c09888822b1404dfc |
|
25-Jan-2004 |
Axel Dörfler <axeld@pinc-software.de> |
Unbroke the debug build (also in user mode). git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6293 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
a893229e0840ca348456cc7dfbdc9887a4575581 |
|
25-Jan-2004 |
Axel Dörfler <axeld@pinc-software.de> |
Cleaned up the debug mess mmu_man has created (thanks anyway!). Switched to kernel_cpp.h/cpp. git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6289 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
1a49a0986bd50ef30d406b4f5001a0784d344015 |
|
07-Nov-2003 |
Nathan Whitehorn <nwhitehorn@nowhere.fake> |
Bunches of changes to make mwcc like the code. I also coded an _atomic_set() and _atomic_test_and_set() for PowerPC. Of course, there's already one in the kernel tree, but mine's better. :P Now builds (and works, after a fashion) on R5 PowerPC. git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5280 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
cdeaad9578e824f19673cf3e6f6ff2aa19d42287 |
|
24-Feb-2003 |
Axel Dörfler <axeld@pinc-software.de> |
Fixed some warnings (due to -Wall). git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2840 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
|