370 Commits

Author SHA1 Message Date
Tyler Dauwalder
21c162a3be Started migration to new recognition functions. New mount function implemented to partition-setup point.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5249 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-11-03 20:07:10 +00:00
Tyler Dauwalder
4302df3c0e - Added udf_sparable_partition_map
- Made udf_{generic,physical}_partition_map endian-safe
- Added udf_{physical,sparable}_partition_map::dump()
- Added udf_logical_descriptor::operator=(udf_logical_descriptor)
- Added UDF_MAX_PARTITION_MAPS


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5248 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-11-03 20:04:45 +00:00
Tyler Dauwalder
a3d605ae27 Removed unneeded files from the build.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5245 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-11-03 01:57:31 +00:00
Tyler Dauwalder
5c1f535500 - Updated short version of udf_recognize() to return volume name in
output parameter.
- Forgot to pass out the number of partitions found in udf_walk_vds().


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5242 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-11-03 01:46:45 +00:00
Tyler Dauwalder
896ad7850f Switched drive setup add-on to use new recognition functions.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5241 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-11-03 01:45:13 +00:00
Tyler Dauwalder
64df0549bf Fixed printf warning.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5240 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-11-03 01:44:51 +00:00
Tyler Dauwalder
2ab307bd3a Added Recognition.cpp to the build.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5238 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-11-02 06:52:24 +00:00
Tyler Dauwalder
60fcc4e6c2 Added Udf::kMaxPartitionDescriptors constant.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5237 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-11-02 06:51:17 +00:00
Tyler Dauwalder
c039b2c676 Initial checkin.
- Started migration of volume recognition code from Udf::Volume
  class to stateless functions in Recognition.{h,cpp}
- Made partition recognition code more strictly adherant to
  UDF specs.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5236 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-11-02 06:50:40 +00:00
Tyler Dauwalder
72090c984b Added new partition classes to build.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5235 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-11-02 01:15:10 +00:00
Tyler Dauwalder
e97abddfe7 Added more partition map dump output.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5234 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-11-02 01:14:18 +00:00
Tyler Dauwalder
4e77893b64 Initial checkin. Mostly empty implementation of UDF 2.01 virtual partitions.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5233 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-11-02 01:13:43 +00:00
Tyler Dauwalder
3b9617bcc4 Initial checkin. Mostly empty implementation of UDF 2.01 sparable partitions.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5232 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-11-02 01:13:15 +00:00
Tyler Dauwalder
04106297aa Initial checkin. Mostly complete implementation of UDF 2.01 physical partitions.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5231 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-11-02 01:12:31 +00:00
Tyler Dauwalder
9be2e8bd9e Initial checkin. Mostly empty implementation of UDF 2.50 metadata partitions.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5230 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-11-02 01:11:39 +00:00
Tyler Dauwalder
c75570328b Initial checkin. Abstract base class for various partition types.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5229 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-11-02 01:05:25 +00:00
Tyler Dauwalder
15851e7a48 Added descriptive tag id names to tag dumps.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5180 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-27 23:41:36 +00:00
Tyler Dauwalder
3b488b83e1 And I wondered why the darn the thing was so slow all of the sudden...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4764 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-19 06:18:45 +00:00
Tyler Dauwalder
6238495ebb Fixed second stupid to_vnode_id() bug. This time, high-end 16 bits of address
block location were getting chopped off instead of being incorporated into
vnode_id.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4763 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-18 20:59:37 +00:00
Tyler Dauwalder
a75bce0d93 More udf_read_stat() debug output.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4762 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-18 20:57:45 +00:00
Tyler Dauwalder
3fc7b56501 Debug output cleanup
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4761 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-18 20:57:25 +00:00
Tyler Dauwalder
449b2f28bf Cleanup.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4760 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-18 20:55:38 +00:00
Tyler Dauwalder
f2e1bc22a4 - %lld -> %Ld
- Added support for mounting multisession volumes


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4751 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-18 07:33:40 +00:00
Tyler Dauwalder
bb182cf309 - %lld -> %Ld
- Patched up address mapping to work properly with multisession volumes


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4750 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-18 07:32:57 +00:00
Tyler Dauwalder
eaa70c976c Fixed debug-to-file output to actually work when run in R5 kernel mode.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4749 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-18 07:30:38 +00:00
Tyler Dauwalder
d5366ff7e1 Major const cleanup.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4748 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-18 07:29:31 +00:00
Tyler Dauwalder
3013100fff Added debugging output to PartitionMap::Find()
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4747 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-18 07:28:54 +00:00
Tyler Dauwalder
d2fe364ca9 Switched from %lld to %Ld so R5 kernel dprintf statements would actually
print something useful for 64-bit integers.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4746 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-18 07:28:23 +00:00
Axel Dörfler
cb94280c6b The file system is now almost endian-aware.
Used lazy unreadable conversion: ==, !=, == 0, != 0 are endian-safe
and don't need byte swapping.
If the platform endian differs from the one selected at compile time,
it will mount all volumes read-only for now.
Uncomment BFS_BIG_ENDIAN_ONLY in the Jamfile to build the big endian
version under x86.
No matter on what platform, the compilation defaults to build BFS as
little endian file system (see bfs_endian.h for details).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4715 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-16 21:49:22 +00:00
Axel Dörfler
d81d3bfa4c Added B_SSIZE_T_TYPE, B_SIZE_T_TYPE, B_OFF_T_TYPE to compareKeys().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4713 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-16 13:20:43 +00:00
Axel Dörfler
f96b2bc0de Only send notifications if writing was successful.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4712 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-16 13:19:21 +00:00
Tyler Dauwalder
90685fb799 Per POSIX, now returns B_BAD_VALUE if read position is negative (thanks Axel :-).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4660 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-12 08:49:12 +00:00
Axel Dörfler
3d2f1723fd Stream::ReadAt()/WriteAt() now return B_BAD_VALUE if the read/write
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
2003-09-12 07:21:03 +00:00
Axel Dörfler
0774a741c2 The small_data section now makes use of the const keyword :-)
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4649 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-12 07:19:50 +00:00
Tyler Dauwalder
c52519cfcd Switched from local cpp.h/cpp.cpp to global kernel_cpp.h/kernel_cpp.cpp
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4642 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-12 06:38:49 +00:00
Axel Dörfler
7df7a4cc01 Added endian-aware getter methods for all internal BFS structures.
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
2003-09-12 01:24:55 +00:00
Axel Dörfler
0686bd4707 Fixed and simplified.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4616 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-11 02:01:48 +00:00
Axel Dörfler
eb03840af1 Added a BFS special endian header.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4615 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-11 01:34:38 +00:00
Tyler Dauwalder
23a4187a2b Was returning an error when attempting to read past the end of
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
2003-09-10 19:22:54 +00:00
Tyler Dauwalder
a64f0e9fc2 Now uses new SinglyLinkedList template parameters.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4602 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-09 06:22:27 +00:00
Tyler Dauwalder
6d14aa1a4b Fixed bug that disallowed mounting a UDF volume in a regular file.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4601 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-09 06:21:25 +00:00
Tyler Dauwalder
b4bfabded1 Account for addition of consts to return values from PartitionMap::Find() and friends.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4600 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-09 06:19:07 +00:00
Tyler Dauwalder
7cb42b6167 Switched to SinglyLinkedList.h
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4599 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-09 06:17:44 +00:00
Tyler Dauwalder
2899835a86 Using util/SinglyLinkedList.h now.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4598 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-09 06:15:52 +00:00
Axel Dörfler
161915fd91 Resolved the name clashing caused by the introduction of atomic_set() and
atomic_test_and_set() to the OpenBeOS headers (prefixed BFS versions with '_').


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4446 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-02 04:26:04 +00:00
Tyler Dauwalder
08f7d1d4b1 Included UDF DriveSetup add-on in the build.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4413 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-08-30 04:55:56 +00:00
Tyler Dauwalder
03e51832d6 Commented out declarations for userland apps, since they were
aggravating the compiler when used in the DriveSetup add-on.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4412 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-08-30 04:52:12 +00:00
Tyler Dauwalder
62426f6446 - Restructured identification and mounting code a bit to make it cleaner
- Implemented static Volume::Identify()


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4411 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-08-30 04:48:49 +00:00
Tyler Dauwalder
49cab54852 Added support for sending debugging output to a file.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4410 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-08-30 04:47:19 +00:00
Tyler Dauwalder
497bc759e4 vfs_interface.cpp => udf.cpp
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4409 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-08-30 04:46:01 +00:00