History log of /haiku-fatelf/src/tests/add-ons/kernel/file_systems/fs_shell/kernel.c
Revision Date Author Comments
# a7224072 27-Mar-2006 Axel Dörfler <axeld@pinc-software.de>

Added "relabel" command to rename volumes.


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


# 468009f8 11-Feb-2006 Ingo Weinhold <ingo_weinhold@gmx.de>

Replaced all "bool"s by "int"s. Apparently passing a bool as function
parameter from a C++ to a C context doesn't work as expected (on x86).
The caller reserves 4 bytes on the stack, but initializes only the
less significant 2 of them, while the callee reads all four bytes.
A symptom was, that one couldn't remove a symlink pointing to a directory.


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


# e70c238d 31-Oct-2005 Axel Dörfler <axeld@pinc-software.de>

The fs_shell is dumb and doesn't know any B_* constants :-)
Thanks to Ingo for the note.


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


# 18930132 30-Oct-2005 Axel Dörfler <axeld@pinc-software.de>

Volume::Initialize() needs a valid nspace object in the kernel - this fixes the
"*** remove ..." error messages when initializing a BFS image via the bfs_shell.


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


# 28fb0f98 21-Mar-2005 Axel Dörfler <axeld@pinc-software.de>

Added a very simple mkindex command - can only create string indexes for now
(and added support for that function in the emulated kernel).


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


# 16157ab5 06-Mar-2005 Ingo Weinhold <ingo_weinhold@gmx.de>

ioctx::lock was not initialized properly.


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


# c5126c59 05-Mar-2005 Ingo Weinhold <ingo_weinhold@gmx.de>

* Write buffers should be const.
* Added sys_stat_attr().
* Added sys_open_attr_dir(). Extended the directory functions to be able
to deal with attribute directories.
* Init the current directory, so we can use it (the support is there
already).
* Use our open modes instead of the platform ones.
* Added O_NOTRAVERSE support to sys_open().


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


# e6f30103 03-Mar-2005 Ingo Weinhold <ingo_weinhold@gmx.de>

A whole bunch of changes to make the fs_shell build (and work) under
Linux:
* Corrected use of error code. We consequently use the errors we
defined to be compatible with BeOS and translate error code to and from
the build platform where necessary.
* Consequently use the structs my_stat and my_dirent and the type
fs_off_t when dealing with the guest FS. my_dirent had to be adjusted
to be BeOS compatible.
We wrap the platform fstat() now to translate the struct stat to the
BeOS representation.
* Fixed a bug introduced with the last checkin: The fs_shell crashed after
executing a command.
* Fixed printf() format warnings under Linux.


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


# 8880d1a7 13-Oct-2004 Philippe Houdoin <philippe.houdoin@gmail.com>

Fix build issue raised by changes in notify_select_event() prototype.


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


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

Cleaned up C++/C separation.
Changed some return types from "int" to "status_t" to make it compatible
with the new VFS interface (should not cause any trouble).


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


# 77c235a2 02-Feb-2004 Axel Dörfler <axeld@pinc-software.de>

Encapsulated parts of the functionality from sys_mount/unmount() in supplementary
functions that can be used by the "mkbfs" command (and similary ones).
Also added a kill_device_vnodes() function which should be called before removing
the cache in the file system's "initialize volume" function - again, its use is
intended for the "mkbfs" utility only.


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


# 4d61634c 29-Jan-2004 Axel Dörfler <axeld@pinc-software.de>

Added more (and conditional) debug stuff -- currently turned off.


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


# eb024897 25-Jan-2004 Axel Dörfler <axeld@pinc-software.de>

Bound the tracker feature to a USED_IN_FS_SHELL define (to allow building
in other environments, too).


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


# 8c857386 30-Sep-2003 Axel Dörfler <axeld@pinc-software.de>

I actually lied and forgot one: this one only showed up if DEBUG was defined.


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


# 6c1c51bf 30-Sep-2003 Axel Dörfler <axeld@pinc-software.de>

Fixed all warnings and one small bug in kernel.c::new_vnode() - it didn't
unlock the vnode if the same cookie already existed.


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


# 274e6fef 17-Jun-2003 Axel Dörfler <axeld@pinc-software.de>

Removed the new_vnode() timeout for busy vnodes.
Fixed the op-description send_notification() gives - notify_listener() now
only prints out the op value, since it will call send_notification() anyway.
The tracker doesn't try to query files on B_ATTR_CHANGED or when node == 0,
or name == NULL.


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


# 55288b8e 17-Jun-2003 Axel Dörfler <axeld@pinc-software.de>

Added a sys_open_entry_ref() call to the VFS layer.
Implemented the beginnings of a Tracker like mode in the fs_shell - started
and stopped using the new "tracker" command; it will get all notifications
the file system sends.
Right now it's very simple, it just opens the file, does a stat(), and closes
the file again, and guess what, I could reproduce our favourite problem with
it!! So it will be finally fixed in the next few days.
Some cleanups.


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


# 6c66b99b 27-May-2003 Axel Dörfler <axeld@pinc-software.de>

The fs-shell kernel's PANIC() now calls the userland debugger.
Fixed a wrong printf argument (block number is %Ld) in release_block().


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


# 6e142688 25-May-2003 Axel Dörfler <axeld@pinc-software.de>

The kernel now has support for setting port&token of a query.
The fs_shell is now able to start up to 10 concurrent live queries. Use
"stopquery" to stop them all or just one of them, "startquery" to initiate
one, and "lsquery" to display them all.


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


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

new_vnode() now complains if the vnode already exists (and panics with when
it has a different data set).
Improved the kernel's PANIC() function (now accepts varargs).
sys_open_query() now has a flags field (that can be set to B_LIVE_QUERY).
The fs_shell now supports one live query; might be enhanced later to support
more than just one (concurrently).


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


# 9767c7be 19-Mar-2003 Axel Dörfler <axeld@pinc-software.de>

Added my updated version of Dominic's fsh.
Doesn't build as-is - the makefile is only provided as an example, if it
is used by file systems in the repository, they should build it in their
own test directories.


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


# a722407264d1a7dfc114fcb896ae039038132dce 27-Mar-2006 Axel Dörfler <axeld@pinc-software.de>

Added "relabel" command to rename volumes.


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


# 468009f83097a1a8477b633285ae8ddbd06c9def 11-Feb-2006 Ingo Weinhold <ingo_weinhold@gmx.de>

Replaced all "bool"s by "int"s. Apparently passing a bool as function
parameter from a C++ to a C context doesn't work as expected (on x86).
The caller reserves 4 bytes on the stack, but initializes only the
less significant 2 of them, while the callee reads all four bytes.
A symptom was, that one couldn't remove a symlink pointing to a directory.


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


# e70c238dd9c4b69c6c0054f510428e493b317248 31-Oct-2005 Axel Dörfler <axeld@pinc-software.de>

The fs_shell is dumb and doesn't know any B_* constants :-)
Thanks to Ingo for the note.


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


# 18930132609da80f070fc6b3b885ed724254a452 30-Oct-2005 Axel Dörfler <axeld@pinc-software.de>

Volume::Initialize() needs a valid nspace object in the kernel - this fixes the
"*** remove ..." error messages when initializing a BFS image via the bfs_shell.


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


# 28fb0f9857f0983f689ccb2caf4330b5313a1cc7 21-Mar-2005 Axel Dörfler <axeld@pinc-software.de>

Added a very simple mkindex command - can only create string indexes for now
(and added support for that function in the emulated kernel).


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


# 16157ab59eaea6569a86505f34a6cb1c7e4a5409 06-Mar-2005 Ingo Weinhold <ingo_weinhold@gmx.de>

ioctx::lock was not initialized properly.


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


# c5126c598585baa83340e4c2305d3b0e81539dda 05-Mar-2005 Ingo Weinhold <ingo_weinhold@gmx.de>

* Write buffers should be const.
* Added sys_stat_attr().
* Added sys_open_attr_dir(). Extended the directory functions to be able
to deal with attribute directories.
* Init the current directory, so we can use it (the support is there
already).
* Use our open modes instead of the platform ones.
* Added O_NOTRAVERSE support to sys_open().


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


# e6f30103366b51835df4c7d4125ba5c832e8bac7 03-Mar-2005 Ingo Weinhold <ingo_weinhold@gmx.de>

A whole bunch of changes to make the fs_shell build (and work) under
Linux:
* Corrected use of error code. We consequently use the errors we
defined to be compatible with BeOS and translate error code to and from
the build platform where necessary.
* Consequently use the structs my_stat and my_dirent and the type
fs_off_t when dealing with the guest FS. my_dirent had to be adjusted
to be BeOS compatible.
We wrap the platform fstat() now to translate the struct stat to the
BeOS representation.
* Fixed a bug introduced with the last checkin: The fs_shell crashed after
executing a command.
* Fixed printf() format warnings under Linux.


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


# 8880d1a7b4ee37b55767552eb801a62976be3b9b 13-Oct-2004 Philippe Houdoin <philippe.houdoin@gmail.com>

Fix build issue raised by changes in notify_select_event() prototype.


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


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

Cleaned up C++/C separation.
Changed some return types from "int" to "status_t" to make it compatible
with the new VFS interface (should not cause any trouble).


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


# 77c235a2e404e0e45f45f23a0423e29d506702ae 02-Feb-2004 Axel Dörfler <axeld@pinc-software.de>

Encapsulated parts of the functionality from sys_mount/unmount() in supplementary
functions that can be used by the "mkbfs" command (and similary ones).
Also added a kill_device_vnodes() function which should be called before removing
the cache in the file system's "initialize volume" function - again, its use is
intended for the "mkbfs" utility only.


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


# 4d61634cbecbd65648d4058325b3360b3a4c36ad 29-Jan-2004 Axel Dörfler <axeld@pinc-software.de>

Added more (and conditional) debug stuff -- currently turned off.


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


# eb02489701d717e48dfab8ec5eb39e725e6b78ae 25-Jan-2004 Axel Dörfler <axeld@pinc-software.de>

Bound the tracker feature to a USED_IN_FS_SHELL define (to allow building
in other environments, too).


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


# 8c8573864d0f03019091a094c1567887ac9dbca4 30-Sep-2003 Axel Dörfler <axeld@pinc-software.de>

I actually lied and forgot one: this one only showed up if DEBUG was defined.


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


# 6c1c51bf87d0f8a7a05e967706d725aa97c0e922 30-Sep-2003 Axel Dörfler <axeld@pinc-software.de>

Fixed all warnings and one small bug in kernel.c::new_vnode() - it didn't
unlock the vnode if the same cookie already existed.


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


# 274e6fefaa7925e789204b55a7afa840ec560db9 17-Jun-2003 Axel Dörfler <axeld@pinc-software.de>

Removed the new_vnode() timeout for busy vnodes.
Fixed the op-description send_notification() gives - notify_listener() now
only prints out the op value, since it will call send_notification() anyway.
The tracker doesn't try to query files on B_ATTR_CHANGED or when node == 0,
or name == NULL.


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


# 55288b8eda438d2a7e4524ef3ec7b16088975875 17-Jun-2003 Axel Dörfler <axeld@pinc-software.de>

Added a sys_open_entry_ref() call to the VFS layer.
Implemented the beginnings of a Tracker like mode in the fs_shell - started
and stopped using the new "tracker" command; it will get all notifications
the file system sends.
Right now it's very simple, it just opens the file, does a stat(), and closes
the file again, and guess what, I could reproduce our favourite problem with
it!! So it will be finally fixed in the next few days.
Some cleanups.


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


# 6c66b99b6bb601b2139a6a4028ad87c1c9e0bd96 27-May-2003 Axel Dörfler <axeld@pinc-software.de>

The fs-shell kernel's PANIC() now calls the userland debugger.
Fixed a wrong printf argument (block number is %Ld) in release_block().


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


# 6e14268838eb2f9c18f6e2b2ce0963e2e89d3f1b 25-May-2003 Axel Dörfler <axeld@pinc-software.de>

The kernel now has support for setting port&token of a query.
The fs_shell is now able to start up to 10 concurrent live queries. Use
"stopquery" to stop them all or just one of them, "startquery" to initiate
one, and "lsquery" to display them all.


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


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

new_vnode() now complains if the vnode already exists (and panics with when
it has a different data set).
Improved the kernel's PANIC() function (now accepts varargs).
sys_open_query() now has a flags field (that can be set to B_LIVE_QUERY).
The fs_shell now supports one live query; might be enhanced later to support
more than just one (concurrently).


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


# 9767c7befda3de757bb92286d61f15d842c9145b 19-Mar-2003 Axel Dörfler <axeld@pinc-software.de>

Added my updated version of Dominic's fsh.
Doesn't build as-is - the makefile is only provided as an example, if it
is used by file systems in the repository, they should build it in their
own test directories.


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