#
0b5d4856 |
|
09-May-2020 |
Augustin Cavalier <waddlesplash@gmail.com> |
fs_shell: Prevent inclusion of BSD headers; fix DeviceOpener.
|
#
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.
|
#
a1566b06 |
|
06-May-2013 |
Axel Dörfler <axeld@pinc-software.de> |
bfs: removed kernel_cpp.h's new operator. * This fixes bug #9715 from the POV of BFS, ie. the new operator seems to call the constructor on a NULL object on failure.
|
#
88a25656 |
|
03-Aug-2008 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Added support for O_NOCACHE/O_DIRECT. * bfs_open() was leaking the already allocated cookie in several error conditions. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26780 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
2e3477e3 |
|
31-Jul-2008 |
Axel Dörfler <axeld@pinc-software.de> |
* Changed the inode write locking to be held as long as the transaction is running - this fixes several cases where someone could see outdated data when a transaction had to be reverted (the time between unlocking the inode and actually reverting the blocks). For that, Inodes can now be put into a singly linked list. * Added a TODO in Inode::WriteAt() which explains why it cannot use the above method: seems that our VFS/VM locking model isn't really that good. * Fixed a possible deadlock in Attribute::_Truncate() where the inode write lock was held before starting the transaction. * Added an InodeReadLocker convenience class, that should be used instead of ReadLocker - Inode::Lock() only still exists because of the needs of bfs_io(). * Moved the bfs_io() callback hooks out of the exported module API region, and removed their bfs_ prefix. * Added a Volume::IsInitializing() method that should be used rather than checking if Volume::ID() is >= 0. * Removed the MultiInodeLocker again, as it's pretty much superfluous now. * Moved openModeToAccess() to the Utility.h header. * Minor cleanup. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26715 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
5d0a5f7c |
|
23-Jul-2008 |
Axel Dörfler <axeld@pinc-software.de> |
* The bfs_shell needs to include <new> as well. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26575 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
082bae1a |
|
23-Jul-2008 |
Axel Dörfler <axeld@pinc-software.de> |
* bfs_fsync() no longer grabs the Inode's read lock - instead, Inode::Sync() will take care of the locking. * Use new(std::nothrow) over new, and malloc (only in kernel_interface.cpp); the kernel_cpp.h header isn't really necessary anymore, so there is no reason BFS should continue to use it. * Removed superfluous NULL checks. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26574 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
|
#
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
|
#
4c7e2a45 |
|
20-Jun-2007 |
Axel Dörfler <axeld@pinc-software.de> |
* Fixed a bug in CachedBlock::Unset() that would call block_cache_put() on the same block everytime it's called - that caused negative reference counts in the block cache, causing all sorts of problems once they were flushed. * Changed order of includes in system_dependencies.h to what I prefer: descending from private to public (resp. from most specific to most generic) headers. * Minor cleanup. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21480 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
68fd0cb9 |
|
24-May-2007 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Driver settings support is now available in the FS shell. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21234 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
87ac9f1d |
|
27-Apr-2007 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Fixed boot loader BFS build which I broke with my recent changes. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20861 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
|
#
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.
|
#
a1566b06b7b53d14fa53c169b0989925c54fd69d |
|
06-May-2013 |
Axel Dörfler <axeld@pinc-software.de> |
bfs: removed kernel_cpp.h's new operator. * This fixes bug #9715 from the POV of BFS, ie. the new operator seems to call the constructor on a NULL object on failure.
|
#
88a2565650749a2ee9436f0e5f2a2077d21bf03e |
|
03-Aug-2008 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Added support for O_NOCACHE/O_DIRECT. * bfs_open() was leaking the already allocated cookie in several error conditions. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26780 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
2e3477e3d851cc46fa682712c3f73dbb82d64fd9 |
|
31-Jul-2008 |
Axel Dörfler <axeld@pinc-software.de> |
* Changed the inode write locking to be held as long as the transaction is running - this fixes several cases where someone could see outdated data when a transaction had to be reverted (the time between unlocking the inode and actually reverting the blocks). For that, Inodes can now be put into a singly linked list. * Added a TODO in Inode::WriteAt() which explains why it cannot use the above method: seems that our VFS/VM locking model isn't really that good. * Fixed a possible deadlock in Attribute::_Truncate() where the inode write lock was held before starting the transaction. * Added an InodeReadLocker convenience class, that should be used instead of ReadLocker - Inode::Lock() only still exists because of the needs of bfs_io(). * Moved the bfs_io() callback hooks out of the exported module API region, and removed their bfs_ prefix. * Added a Volume::IsInitializing() method that should be used rather than checking if Volume::ID() is >= 0. * Removed the MultiInodeLocker again, as it's pretty much superfluous now. * Moved openModeToAccess() to the Utility.h header. * Minor cleanup. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26715 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
5d0a5f7cac1dd709f169ff7b25751103457be78e |
|
23-Jul-2008 |
Axel Dörfler <axeld@pinc-software.de> |
* The bfs_shell needs to include <new> as well. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26575 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
082bae1aa58dd0021d69aaa2dc05de7b33b75854 |
|
23-Jul-2008 |
Axel Dörfler <axeld@pinc-software.de> |
* bfs_fsync() no longer grabs the Inode's read lock - instead, Inode::Sync() will take care of the locking. * Use new(std::nothrow) over new, and malloc (only in kernel_interface.cpp); the kernel_cpp.h header isn't really necessary anymore, so there is no reason BFS should continue to use it. * Removed superfluous NULL checks. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26574 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
|
#
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
|
#
4c7e2a45fa5ae13e0d6b8b472d2b4dbbe0e60e79 |
|
20-Jun-2007 |
Axel Dörfler <axeld@pinc-software.de> |
* Fixed a bug in CachedBlock::Unset() that would call block_cache_put() on the same block everytime it's called - that caused negative reference counts in the block cache, causing all sorts of problems once they were flushed. * Changed order of includes in system_dependencies.h to what I prefer: descending from private to public (resp. from most specific to most generic) headers. * Minor cleanup. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21480 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
68fd0cb9642045681c43fac9c69096d3d1947f6a |
|
24-May-2007 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Driver settings support is now available in the FS shell. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21234 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
87ac9f1d4642e54fd2c474ed531996f4545cca25 |
|
27-Apr-2007 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Fixed boot loader BFS build which I broke with my recent changes. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20861 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
|