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