370 Commits

Author SHA1 Message Date
Tyler Dauwalder
798f154212 Added initialization of debugging output file.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4408 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-08-30 04:43:30 +00:00
Tyler Dauwalder
80bae611b7 vfs_interface.cpp => udf.cpp
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4407 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-08-30 04:42:30 +00:00
Tyler Dauwalder
33cd6a8a61 Jamfile for UDF DriveSetup add-on.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4406 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-08-30 04:39:46 +00:00
Tyler Dauwalder
03bd8fccd2 R5 DriveSetup add-on for UDF. I'm placing the add-on source here, instead
of, say, src/add-ons/drive_setup/fs/udf/, because we won't need it for OBOS::R1,
but will instead need a disk device manager add-on, which will be written later.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4405 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-08-30 04:39:22 +00:00
Ingo Weinhold
c1b7aba392 Changes reflecting the change of semantics of the DEBUG variable.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4383 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-08-26 23:17:23 +00:00
Tyler Dauwalder
282644b3ec Initial timestamp support.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4232 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-08-05 07:39:10 +00:00
Tyler Dauwalder
fb8ce46910 Added make_time(), which converts a udf_timestamp() to a time_t.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4231 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-08-05 07:38:35 +00:00
Tyler Dauwalder
a0ff5accb6 Added AccessTime() and ModificationTime().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4230 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-08-05 07:37:10 +00:00
Tyler Dauwalder
83d7be1c6f Fixed some oversights in udf_timestamp.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4229 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-08-05 07:36:36 +00:00
Tyler Dauwalder
aa02972ee8 Implemented:
udf_open_dir()
udf_read_dir()
udf_free_dir_cookie()
udf_open()
udf_read()
udf_walk()
and possibly others.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4160 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-31 07:01:49 +00:00
Tyler Dauwalder
a71fd51283 _Map*() -> Map*()
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4159 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-31 07:00:45 +00:00
Tyler Dauwalder
8338064665 Conversion functions actually work now.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4158 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-31 07:00:04 +00:00
Tyler Dauwalder
3dc4d42634 Implemented file reading
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4157 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-31 06:59:21 +00:00
Tyler Dauwalder
928e05006d - More endianness stuff
- More file entry flags


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4156 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-31 06:58:49 +00:00
Tyler Dauwalder
dcd9a8054b Implemented actual iteration.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4155 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-31 06:57:36 +00:00
Tyler Dauwalder
11e12e9088 New constructor that accepts c-strings.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4154 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-31 06:57:02 +00:00
Tyler Dauwalder
f7e948c39a Buffer cache headers for R5
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4153 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-31 06:56:30 +00:00
Tyler Dauwalder
e0c62c0f66 Initial checkin. Stolen from BFS and then touched up so no one will notice.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4152 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-31 06:56:12 +00:00
Tyler Dauwalder
9787066de4 Initial checkin. Manages access to the different types of allocation descriptors supported.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4151 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-31 06:55:35 +00:00
Tyler Dauwalder
09405cc9e2 - Added missing #include <stdio.h>
- Fixed sprintf warning


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3945 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-10 19:54:06 +00:00
Tyler Dauwalder
04062eb904 Added kernel utils to header search path
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3944 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-10 19:52:56 +00:00
Tyler Dauwalder
865abd0ebc Added DirectoryIterator.cpp and Utils.cpp to the build
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3943 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-10 19:48:22 +00:00
Tyler Dauwalder
981aa8f472 Initial implementations of:
- udf_get_vnode()
- udf_release_vnode()
- udf_walk
- udf_open_dir()
- udf_read_dir()


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3942 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-10 19:47:31 +00:00
Tyler Dauwalder
b8f1212a91 Added Type(), IsFile(), IsDirectory(), and GetDirectoryIterator()
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3941 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-10 19:43:57 +00:00
Tyler Dauwalder
267fd7e7d1 Addded Philips UDF verifier link
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3940 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-10 19:42:26 +00:00
Tyler Dauwalder
42ba13e82b Directory iterators.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3939 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-10 19:41:45 +00:00
Tyler Dauwalder
24ec5f4377 Udf utility functions
- Added vnode_id to udf_long_address (and vice-versa) conversion functions


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3938 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-10 19:41:03 +00:00
Tyler Dauwalder
6c92bff25c Finished up udf_mount(), added udf_release_node()
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3835 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-04 06:24:20 +00:00
Tyler Dauwalder
d2e3d64aa6 Got rid of throw()'s
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3834 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-04 06:23:37 +00:00
Tyler Dauwalder
3f4628f1ae Finished up initial volume recognition implementation
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3833 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-04 06:22:15 +00:00
Tyler Dauwalder
8279a93bdb - Added CF_HELPER category
- Updated DUMP_INIT to automatically add the CF_DUMP category


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3832 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-04 06:21:04 +00:00
Tyler Dauwalder
f0f808aff1 UDF -> Udf namespace change
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3831 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-04 06:19:29 +00:00
Tyler Dauwalder
7e57ce9132 Added StaticMemoryChunk class
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3830 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-04 06:18:10 +00:00
Tyler Dauwalder
e90fa96289 Added Icb.cpp and CS0String.cpp
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3829 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-04 06:17:30 +00:00
Tyler Dauwalder
d0da916694 More endianness support and debugging dump functions
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3828 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-04 06:16:35 +00:00
Tyler Dauwalder
33e6eac459 Added operator[] which doesn't seem to work for some reason.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3827 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-04 06:15:24 +00:00
Tyler Dauwalder
e1016e4f8a Icb class initial checkin.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3826 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-04 06:14:06 +00:00
Tyler Dauwalder
466c605a47 Static Unicode string class.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3825 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-04 06:13:10 +00:00
Axel Dörfler
f14bae95b6 Renamed "blocks" to "blocksRequested" in Inode::GrowStream() to make its
usage clearer. Also added a comment that explains why it's okay that
blocksNeeded and blocksRequested can be different.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3579 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-19 17:11:53 +00:00
Axel Dörfler
4a9d9dfa14 Added new RecursiveLock and RecursiveLocker classes.
Added file system global locking around creating, deleting, and renaming
inodes - that's not nice, but since we have only sequential journal access,
it won't hurt concurrency much. The locks are needed to prevent certain
things from happening like two threads could theoretically create the same
file twice (one of them would have failed, but relatively late in the process).
Anyway, a better locking scheme will be implemented at a later date, but maybe
not for R1.
Small cleanup.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3562 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-18 15:11:31 +00:00
Axel Dörfler
4a5e9fec88 Updated some comments.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3522 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-15 13:23:38 +00:00
Axel Dörfler
8ea8d0c2bb Fixed queries a bit more (maybe even completely...). In several situations,
the old attribute value wasn't evaluated at all.
Also, Index::Update() got a type code of zero, instead of the real value
in situations where this didn't make any sense.
Minor cleanup in kernel_interface.cpp.
New method Volume::CheckForLiveQuery() that checks if there is a live query
depending on the specified attribute - not yet implemented, but already used;
always returns "true" right now, which doesn't cause any harm but reducing
the speed lightly.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3394 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-01 02:55:33 +00:00
Axel Dörfler
cca15c0166 Added a little more debug output in BPlusTree::Find().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3393 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-01 02:49:38 +00:00
Axel Dörfler
c3f10b4674 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
2003-05-29 01:02:18 +00:00
Axel Dörfler
f2024b1158 Fixed debug output in bfs_setflags().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3379 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-05-28 23:12:18 +00:00
Tyler Dauwalder
e4edcddbc5 Fixed nothrow declaration and definition to what I think should
be the proper values.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3368 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-05-28 07:35:04 +00:00
Axel Dörfler
a9aa5ee181 Implemented bfs_setflags().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3367 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-05-28 01:56:24 +00:00
Axel Dörfler
a13beecdee Removed the possibility to create a Semaphore object without specifying
a name - that's mostly done to:
1) force better fitting lock names
2) make the API consistent (the empty ReadWriteLock constructor doesn't
   initialize the lock anymore).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3366 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-05-28 01:34:18 +00:00
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