Commit Graph

3300 Commits

Author SHA1 Message Date
Axel Dörfler
20c74d7d25 Fixed reordering of initializer warning - should compile the fs_shell with
-Wall enabled...


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3365 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-05-28 01:32:40 +00:00
Axel Dörfler
ae58716024 Fixed another bad bug caused by calling get_vnode() on a node currently
being constructed: bfs_read_node() created an Inode object independent from
the one set in new_vnode().
As a work-around (the new VFS layer will introduce some better methods here)
we are now using the bfs_inode.etc field as a pointer to our object - just
like BFS has thought to use this field. If bfs_read_vnode() has to wait for
the inode (because it is being constructed), it will use the "etc" pointer
and don't create it's own Inode object.
Almost all changes made change the API to take this case into account:
- new Inode constructor to be able to be created from a CachedBlock
- CachedBlock now has a Keep() method which suppresses the release_block()
  call when the object is destructed.
- a CachedBlock can now be constructed from the contents of another one (by
  calling the source's Keep() method).
- Inode::InitCheck() no longer checks the integrity of the bfs_inode - this
  is now done by bfs_inode::InitCheck() which is optionally called by the
  former (default).
- moved the inline CachedBlock methods out of the class definition (was
  too crowded to be readable).
- new Inode::Initialize() which is called by all Inode constructors
- an Inode object now sets a better name for its read/write lock.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3364 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-05-28 01:27:27 +00:00
Axel Dörfler
1d9fd63d3a The ReadWriteLock class now has an Initialize() method to initialize the
object after creation. This enables the Inode constructor to set a better
name for the lock.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3363 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-05-28 01:12:38 +00:00
Axel Dörfler
24d6529a93 Journal::LogBlocks() now calls cache_write() if the block is already in the
log entry - this is only necessary if the buffer is not the one of the
CachedBlock object.
Journal::TransactionDone() now properly aborts transactions if possible,
instead of just writing them to disk (does only work if the log entry
was not used by other transactions already).
Added a comment about how to speed up writing the log entries a bit more
(though it's not so easy to do, and might not be much faster).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3362 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-05-28 01:10:22 +00:00
Axel Dörfler
6c66b99b6b 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
2003-05-28 01:04:53 +00:00
Ingo Weinhold
5c35d41aab AddResources must precede the rule for building the target.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3360 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-05-27 15:20:14 +00:00
Tyler Dauwalder
968997db5f new(nothrow) is desired by SLList. My definition of nothrow is
a bit sketchy here, but will work for now until I figure out the
proper way to do it.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3359 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-05-27 08:25:15 +00:00
Tyler Dauwalder
c6b0bb0480 Missed a #include <stdio.h>
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3358 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-05-27 08:23:59 +00:00
Tyler Dauwalder
9b6661b079 Added PartitionMap.cpp to the build.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3357 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-05-27 08:10:56 +00:00
Tyler Dauwalder
0d383564c3 - Added beginnings of volume descriptor sequence walking code.
- Accounted for addition of "udf_" to beginning of on-disk structs.
- Accounted for Block<typename> to MemoryChunk change


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3356 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-05-27 08:06:43 +00:00
Tyler Dauwalder
81d91d069a Added DUMP() and PDUMP() macros.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3355 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-05-27 08:04:28 +00:00
Tyler Dauwalder
56f47960a3 - Prepended each struct name with "udf_" to clarify which structs are actually
on-disk data structures.
- More endian-neutrality conversions
- More dump() functions


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3354 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-05-27 08:03:47 +00:00
Tyler Dauwalder
8a079cf89c Initial checkin. Provides mapping of partition numbers to udf_partition_descriptors.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3353 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-05-27 08:01:52 +00:00
Tyler Dauwalder
15eec8a161 Single-linked list courtesy Mr. Ingo Weinhold, here temporarily
until we get our kernel C++ utils library up and running.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3352 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-05-27 08:01:08 +00:00
Tyler Dauwalder
4627317bcd Initial checkin.
Slightly more typesafe static array type than built-in arrays,
with array length information stored implicitly (i.e. consuming no
physical space in the actual struct) via the arrayLength template
parameter.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3351 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-05-27 07:58:08 +00:00
Tyler Dauwalder
4873cabb06 Renamed Block to MemoryChunk, and got rid of the template
parameter in lieu of using reinterpret_cast, which turns out to
be cleaner all in all.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3350 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-05-27 07:57:02 +00:00
Matthew Wilber
b17c6f4bc0 added BApplication object to TranslationTest so that the call to system_colors() in TGATranslator would succeed
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3349 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-05-27 00:48:53 +00:00
Matthew Wilber
fe2aacfad7 added BApplication object so that the system_colors() function call in BMPTranslator code would succeed
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3348 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-05-27 00:48:00 +00:00
Matthew Wilber
8ec8ccef8e added constructor test where bitmap is passed, changed to use typedef when added tests to the suite to clean things up
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3347 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-05-27 00:30:11 +00:00
Axel Dörfler
a476bfc5b1 Now waits for a whole second on the inode to become unbusy - just in case
there is a slow drive. Note, if the system is heavily used and the thread
waiting for the inode to become unbusy is a real time thread, that time
might be not enough - don't have a better solution at hand though (other
than waiting even longer).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3346 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-05-26 22:40:14 +00:00
Axel Dörfler
3cfd8472f9 Fixed the ominous "new_vnode() already exists with different cookie" bug,
thanks to Bruno for pointing me in the right direction (that has probably cost
him several hours of his life ;-))!
Yes, it was that complicated to fix it...


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3345 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-05-26 22:36:23 +00:00
Matthew Wilber
96a13ed121 added checking for memory allocation failure in MakeConfigurationView
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3344 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-05-26 18:07:29 +00:00
Matthew Wilber
d7be1587b7 initial check in for stxtinfo, a command line program to display information about Be styled text data
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3343 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-05-26 17:55:27 +00:00
Matthew Wilber
8ceceb19ed added stxtinfo
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3342 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-05-26 17:53:26 +00:00
beveloper
8394328625 lots of boring comparisons
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3341 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-05-26 14:44:28 +00:00
Matthew Wilber
fd6e40cd0e added GetConfigurationMessage test and removed an entry for a test file that doesn't exist
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3340 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-05-26 14:38:27 +00:00
beveloper
21871f384e various bugfixes
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3339 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-05-26 12:58:06 +00:00
beveloper
a4289a95c0 fixed initialization, added debug macros
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3338 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-05-26 12:37:52 +00:00
beveloper
5b4256ce42 removed debugging code
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3337 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-05-26 12:37:05 +00:00
Matthew Wilber
bedcc99335 added GetConfigurationMessage test
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3336 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-05-26 03:26:49 +00:00
Axel Dörfler
b807dfb5b1 Updated the help text for "startquery" & "stopquery" to match reality better.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3335 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-05-26 02:19:06 +00:00
Axel Dörfler
6e14268838 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
2003-05-26 02:16:54 +00:00
Axel Dörfler
b0ff9520c0 The Jamfile now compiles with -fcheck-memory if MALLOC_DEBUG is set. Of course,
jam itself will also be checked then, which cries out loud for a better way to
do this. But hey, it works :-)


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3333 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-05-26 02:14:03 +00:00
Axel Dörfler
470a60786e Updated the ToDo list; thanks to Ingo I know now a little bit more about
float/double queries :-)


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3332 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-05-26 01:51:19 +00:00
Axel Dörfler
6ac535c5c5 Fixed another bad bug in the block allocator: the size of the last block
of the block bitmap could be computed wrong - this could cause all sorts
of errors like: overwriting data, creating the "new_vnode with different
cookie" problem, etc.
Should really be the last bug in that piece of code ;-P


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3331 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-05-26 01:50:34 +00:00
Axel Dörfler
e1d37632bb Now takes changed function of Index::Update() into account - queries on
non-indexed attributes now finally work as they should.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3330 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-05-26 01:47:06 +00:00
Axel Dörfler
ab47860c37 Index::SetTo() now sets fName even if the index initialization failed (for
whatever reason).
Index::Update() is now allowed to be called for those indices - in this case
it will just update all live queries.
Added some comments.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3329 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-05-26 01:45:09 +00:00
Axel Dörfler
09ed3db89a Some minor style changes/clean ups.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3328 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-05-26 01:43:14 +00:00
ejakowatz
18a8d114f5 Tests for BString convenience functions, plus a fix to BMessageField for a
bug revealed by those tests.  Gotta love those unit tests!


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3327 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-05-26 01:12:23 +00:00
Philippe Houdoin
1a3b3db436 Fix some typo in BUILD note.
Update headers to reflect the net_data* -> net_buffer* move


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3326 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-05-26 00:34:13 +00:00
Philippe Houdoin
82238517b4 net_data -> net_buffer update.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3325 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-05-26 00:29:28 +00:00
Philippe Houdoin
5a52a89c28 net_data* -> net_buffer*
Remove some debug traces


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3324 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-05-26 00:27:18 +00:00
Philippe Houdoin
0a936c017d net_data* -> net_buffer*
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3323 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-05-26 00:23:37 +00:00
Philippe Houdoin
d5b2863194 Rename net_data into net_buffer, which make more sense.
Add read_buffer() and write_buffer() to access/modify net_buffer data chunks.
Add a split_buffer() function, that will split at a specified offset. To be implemented.
Remove append_buffer(), prepend_buffer() and insert_buffer(), replace by all-purpose
add_to_buffer().
Rename remove_buffer() into remove_from_buffer(), to opposite add_to_buffer()


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3322 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-05-26 00:22:39 +00:00
beveloper
4f09fa2ff1 various small bugfixes
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3321 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-05-25 23:59:16 +00:00
beveloper
359ac30644 Added automatic loading of physical input and output nodes.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3320 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-05-25 21:16:53 +00:00
Axel Dörfler
917d37106e The startquery command now stops an eventually running query (which now
makes several live queries at once impossible :-).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3319 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-05-25 16:59:47 +00:00
Axel Dörfler
a1fe805b79 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
2003-05-25 16:56:03 +00:00
Matthew Wilber
8e2f0a9a0a added checking and printing of magic number, printing of bounding rectangle, changed member names to be more descriptive
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3317 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-05-25 16:44:28 +00:00
Matthew Wilber
3650ecf0a6 added more Translate testing, added tests with RLE compression on and off using a BMessage to specify which option, added tests translating from "bits" to TGA
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3316 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-05-25 15:50:28 +00:00