History log of /haiku/src/add-ons/kernel/file_systems/bfs/bfs_control.h
Revision Date Author Comments
# 0b3f78e7 13-Jul-2012 ahenriksson <sausageboy@gmail.com>

fs_shell: 'resizefs' command

Change-Id: Ie4c18c76cd1a69945739817ecd99409b7611dd7a
Reviewed-on: https://review.haiku-os.org/c/haiku/+/939
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>


# 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.


# ce17af69 31-Mar-2012 Axel Dörfler <axeld@pinc-software.de>

Implemented repairing index b+trees.

* There are now two passes in case a corrupted index tree has been found.
* The second pass will clear the affected indices at first, and will then walk
over all inodes again to fill them.
* As a side effect, this will also defragment the indices; ie. the same
mechanism could be used for this some day.


# 49a2067a 06-Mar-2012 Axel Dörfler <axeld@pinc-software.de>

When running checkfs, BPlusTree::Validate() is now called.


# 21d6b8e2 12-Jun-2011 Axel Dörfler <axeld@pinc-software.de>

* Let checkfs collect stats of how the data streams are used.
* Would be nice to only show this when an extra argument had been passed to
checkfs, but I'm afraid the API is somewhat limited, not to say pretty much
unusable for the task.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42125 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 5edde94c 06-Mar-2010 Axel Dörfler <axeld@pinc-software.de>

* checkfs is now working again; I couldn't test my earlier changes because I had
no time left, but I didn't want to lose them either.
* This fixes bug #5536, sorry for the inconvenience.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35770 a95241bf-73f2-0310-859d-f6bbb57e9c96


# d501707d 03-Mar-2010 Axel Dörfler <axeld@pinc-software.de>

* Removed the cookie field of the check_control structure; that really was
a stupid idea. Instead, the already existing fCheckCookie member is used.
* bfs_ioctl() now accesses all userland buffers safely, this should help with
#3264, and move the crash where it belongs.
* Changes not yet tested; they only affect checkfs.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35743 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 64b14593 29-Jul-2009 Axel Dörfler <axeld@pinc-software.de>

* checkfs is now also able to fix name mismatches (when the inode contains a
different name than the directory entry pointing to it). The BeOS BFS is known
to create such problems from time to time.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31937 a95241bf-73f2-0310-859d-f6bbb57e9c96


# cfa4660b 13-Oct-2008 Axel Dörfler <axeld@pinc-software.de>

* Changed the way the BFS_IOCTL_UPDATE_BOOT_BLOCK ioctl works; it's a bit
more flexible to use now.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28053 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 21885de2 08-Dec-2007 Axel Dörfler <axeld@pinc-software.de>

* BFS now always writes back the whole block when it writes the super block.
* Therefore, I've added an I/O control that let's it update the boot block
part of this block, so that makebootable can use it on a mounted volume
(this will probably be moved into a disk system API later).
* Added user_memcpy() to the fs_shell.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23082 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 245aecda 21-Jun-2007 Axel Dörfler <axeld@pinc-software.de>

Got rid of vnode_id and mount_id, replaced with ino_t and dev_t.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21485 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


# bb0a78b4 07-Jun-2004 Axel Dörfler <axeld@pinc-software.de>

Now include fs_interface.h instead of fsproto.h.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7821 a95241bf-73f2-0310-859d-f6bbb57e9c96


# c3f10b46 28-May-2003 Axel Dörfler <axeld@pinc-software.de>

Added a simple magic field mechanism to make chkbfs calls a little more safe.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3381 a95241bf-73f2-0310-859d-f6bbb57e9c96


# adb9970c 17-Nov-2002 Axel Dörfler <axeld@pinc-software.de>

This file defines the private BFS ioctls to control the "chkbfs" mechanism
and other stuff.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1990 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.


# ce17af69dc33c82dfec3a956c384725ef0b2a656 31-Mar-2012 Axel Dörfler <axeld@pinc-software.de>

Implemented repairing index b+trees.

* There are now two passes in case a corrupted index tree has been found.
* The second pass will clear the affected indices at first, and will then walk
over all inodes again to fill them.
* As a side effect, this will also defragment the indices; ie. the same
mechanism could be used for this some day.


# 49a2067a179a5a0eab86ade269a8f3caef971098 06-Mar-2012 Axel Dörfler <axeld@pinc-software.de>

When running checkfs, BPlusTree::Validate() is now called.


# 21d6b8e2c7d3f4506007547fd2faf25b42d43fd6 12-Jun-2011 Axel Dörfler <axeld@pinc-software.de>

* Let checkfs collect stats of how the data streams are used.
* Would be nice to only show this when an extra argument had been passed to
checkfs, but I'm afraid the API is somewhat limited, not to say pretty much
unusable for the task.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42125 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 5edde94cab42af0a1194c04466bc6731ff0b708b 06-Mar-2010 Axel Dörfler <axeld@pinc-software.de>

* checkfs is now working again; I couldn't test my earlier changes because I had
no time left, but I didn't want to lose them either.
* This fixes bug #5536, sorry for the inconvenience.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35770 a95241bf-73f2-0310-859d-f6bbb57e9c96


# d501707d8abd1f3648bed3a4f975e3a984a5e6f1 03-Mar-2010 Axel Dörfler <axeld@pinc-software.de>

* Removed the cookie field of the check_control structure; that really was
a stupid idea. Instead, the already existing fCheckCookie member is used.
* bfs_ioctl() now accesses all userland buffers safely, this should help with
#3264, and move the crash where it belongs.
* Changes not yet tested; they only affect checkfs.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35743 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 64b145930e28cd1b717da8951d787d3916c9ed37 29-Jul-2009 Axel Dörfler <axeld@pinc-software.de>

* checkfs is now also able to fix name mismatches (when the inode contains a
different name than the directory entry pointing to it). The BeOS BFS is known
to create such problems from time to time.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31937 a95241bf-73f2-0310-859d-f6bbb57e9c96


# cfa4660b4781a22a25f43bb71561450fc30ecf4e 13-Oct-2008 Axel Dörfler <axeld@pinc-software.de>

* Changed the way the BFS_IOCTL_UPDATE_BOOT_BLOCK ioctl works; it's a bit
more flexible to use now.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28053 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 21885de266a154a66d4027ba78b8c9ed8f12ac3b 08-Dec-2007 Axel Dörfler <axeld@pinc-software.de>

* BFS now always writes back the whole block when it writes the super block.
* Therefore, I've added an I/O control that let's it update the boot block
part of this block, so that makebootable can use it on a mounted volume
(this will probably be moved into a disk system API later).
* Added user_memcpy() to the fs_shell.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23082 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 245aecda8ac43fc2c0c0bac6a7e4016efa9b71e1 21-Jun-2007 Axel Dörfler <axeld@pinc-software.de>

Got rid of vnode_id and mount_id, replaced with ino_t and dev_t.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21485 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


# bb0a78b4d8fb648bc002570c72ab7778b4fd3d95 07-Jun-2004 Axel Dörfler <axeld@pinc-software.de>

Now include fs_interface.h instead of fsproto.h.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7821 a95241bf-73f2-0310-859d-f6bbb57e9c96


# c3f10b4674ea41e67f9f97190c36265af6879f7c 28-May-2003 Axel Dörfler <axeld@pinc-software.de>

Added a simple magic field mechanism to make chkbfs calls a little more safe.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3381 a95241bf-73f2-0310-859d-f6bbb57e9c96


# adb9970c9ea379db1ed8ec58d13567768e760242 17-Nov-2002 Axel Dörfler <axeld@pinc-software.de>

This file defines the private BFS ioctls to control the "chkbfs" mechanism
and other stuff.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1990 a95241bf-73f2-0310-859d-f6bbb57e9c96