a node factory to get the correct type of node (Directory/File).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4653 a95241bf-73f2-0310-859d-f6bbb57e9c96
required to have read-only, single-threaded access to a B+tree.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4651 a95241bf-73f2-0310-859d-f6bbb57e9c96
position was set to a value lower than zero (as Posix demands).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4650 a95241bf-73f2-0310-859d-f6bbb57e9c96
"virtual" subtrees in it (no more parallel, ... scanning).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4645 a95241bf-73f2-0310-859d-f6bbb57e9c96
it passed partition_data::volume which used to be the correct descriptor
earlier, but is now unused in the boot loader partition support.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4643 a95241bf-73f2-0310-859d-f6bbb57e9c96
from the BFS Stream.h file) - it supports all data stream ranges (direct,
indirect, & double indirect).
Moved bfs_inode::InitCheck() to the new Stream class.
The Directory class now has a Stream object instead of a bfs_inode directly.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4639 a95241bf-73f2-0310-859d-f6bbb57e9c96
Also made all methods implemented in this file endian-aware (lazy as I am,
I left things like "name_size == 0" unchanged, because 0 is a endian-safe
value... [hey, it's even faster that way]).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4638 a95241bf-73f2-0310-859d-f6bbb57e9c96
Currently, it only recognizes a BFS disk, and will print out its name
(and that code is now endian-aware as well).
More to come, though :-)
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4637 a95241bf-73f2-0310-859d-f6bbb57e9c96
with the name "raw" - note, this is directly accessing your precious data,
but read-only of course.
Also added the test-file-device as used by the DiskDeviceManagerTest.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4636 a95241bf-73f2-0310-859d-f6bbb57e9c96
accepting already opened files.
Hence, it now also has an InitCheck() method, because opening doesn't
have to succeed.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4635 a95241bf-73f2-0310-859d-f6bbb57e9c96
bindings - we are now using stdlib's malloc()/free() directly instead.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4634 a95241bf-73f2-0310-859d-f6bbb57e9c96
Removed the boot loader heap - it now uses standard malloc()/free() in order
to cause less confusion. The boot heap does have its own test app anyway.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4633 a95241bf-73f2-0310-859d-f6bbb57e9c96
Implemented Partition::Size() and Type() to stat its device.
Partition::ReadAt() and WriteAt() now return B_BAD_VALUE if a position smaller
than zero is provided (as Posix actually states).
Partition::Scan() now provides the partitioning system modules with the correct
file descriptor; it now opens itself (using the NodeOpener class) and no longer
the descriptor of its device directly (resulting in wrong positioning).
Debug output can be turned off now.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4632 a95241bf-73f2-0310-859d-f6bbb57e9c96
pair doesn't delete the object anymore (creation is regarded as an Acquire()
equivalent now).
Moved mount_boot_partitions() and vfs_init().
Debug output can be turned off now.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4631 a95241bf-73f2-0310-859d-f6bbb57e9c96
ObjectHdrs.
* Introduced a rule ObjectsDefines which is safe to be invoke with more
than one file and replaced ObjectDefines where it was used wrongly.
* Fixed SourceHdrs which used ObjectHdrs wrongly.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4626 a95241bf-73f2-0310-859d-f6bbb57e9c96
wrong, but also completely senseless :-)
Renamed Partition::NextOffset() to LinkOffset() to honour that change.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4623 a95241bf-73f2-0310-859d-f6bbb57e9c96
seem to work in combination with "SimpleTest".
As I am too lazy to figure out what's causing this, I hope for Ingo :-)
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4622 a95241bf-73f2-0310-859d-f6bbb57e9c96
partition modules won't complain about a disk too small to hold a partition.
Should be fixed, though.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4614 a95241bf-73f2-0310-859d-f6bbb57e9c96
the file. Apparently one must return success but report 0 bytes
read. This should fix the tracker file copy bug Marcus found.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4612 a95241bf-73f2-0310-859d-f6bbb57e9c96