5d0afa4e4e
blocks into the new transaction, but it would set that transaction on all blocks of the old transaction, too. Also, it did not correctly update the num_blocks/sub_num_blocks fields of the old transaction. Even worse, it did return B_OK instead of the ID of the new transaction... * get_writable_cached_block() did not correctly maintain the number of blocks in the sub transaction. * write_cached_block() did not free the original_data of a block when it wrote it back as part of a previous transaction. * Changed "cookie" for cache_next_block_in_transaction() to "long", so it will be 64 bits when needed. * Improved the API for detaching sub transactions: you can now get the blocks of only the main (parent) transaction as well, added new cache_block_in_main_transaction() function. * BFS now flushes the log when there is no space left for the current transaction. * _WriteTransactionToLog() allocated a "vecs" array, but never freed it. * _WriteTransactionToLog() now also supports detaching the current sub transaction if the whole thing is getting too large (it will now also panic if that doesn't work out). * Removed a useless optimization: making the blocks available in the cache isn't really needed, as all blocks in a transaction are locked into the cache, anyway. * Implemented Transaction::WriteBlocks(). * Minor cleanup, removed some dead code, fixed warnings in the fs_shell's block_cache when compiled with debug output on. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23610 a95241bf-73f2-0310-859d-f6bbb57e9c96 |
||
---|---|---|
.. | ||
DoublyLinkedList.h | ||
fssh_api_wrapper.h | ||
fssh_atomic.h | ||
fssh_auto_locker.h | ||
fssh_byte_order.h | ||
fssh_defs.h | ||
fssh_dirent.h | ||
fssh_disk_device_defs.h | ||
fssh_disk_device_manager.h | ||
fssh_driver_settings.h | ||
fssh_drivers.h | ||
fssh_errno.h | ||
fssh_errors.h | ||
fssh_fcntl.h | ||
fssh_fs_attr.h | ||
fssh_fs_cache.h | ||
fssh_fs_index.h | ||
fssh_fs_info.h | ||
fssh_fs_interface.h | ||
fssh_fs_query.h | ||
fssh_fs_volume.h | ||
fssh_kernel_export.h | ||
fssh_kernel_priv.h | ||
fssh_module.h | ||
fssh_node_monitor.h | ||
fssh_os.h | ||
fssh_stat.h | ||
fssh_stdio.h | ||
fssh_string.h | ||
fssh_time.h | ||
fssh_type_constants.h | ||
fssh_types.h | ||
fssh_uio.h | ||
fssh_unistd.h | ||
KPath.h | ||
Stack.h |