880 Commits

Author SHA1 Message Date
Tyler Dauwalder
e3e6d2db88 + Finished up cdrom session module
+ Fixed volume name bug in iso9660 module
+ Added licenses


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2458 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-01-16 08:26:22 +00:00
Axel Dörfler
d9f08d808d The empty string ("", length 0) will now be replaced with ("", length 1) in
queries, to let the BPlusTree::Find() method search for it (there can't be
any keys in the tree with length 0).
That means that the query 'META:url=""' will now return all files where the
attribute "META:url" is present but empty.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2401 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-01-10 11:14:07 +00:00
Axel Dörfler
3b7911f105 We now check in bfs_rename() if the new name is the same as the old name
in the same directory - in this case, we will return B_OK (as nothing has
to be done to fulfill the request), instead of B_BAD_VALUE which would
be thrown later in the process.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2400 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-01-10 11:08:51 +00:00
Axel Dörfler
538ee6189c Moved the config_manager to the correct location and added it to the build.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2350 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-01-02 13:21:19 +00:00
Axel Dörfler
ea8ace93a1 The /dev/misc/config driver which provides userland access to the
Configuration Manager, once this is implemented.
Needed for the "listdev" command and the Devices preferences application.
Not tested!


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2339 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-12-31 16:19:09 +00:00
Tyler Dauwalder
5494accf0a Added cd rom session module to the build
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2330 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-12-31 07:31:30 +00:00
Tyler Dauwalder
720c9e3ade Fixed session_info update oversight
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2329 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-12-31 07:30:23 +00:00
Tyler Dauwalder
3ed1045364 Added some NULL pointer checks
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2328 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-12-31 07:28:44 +00:00
Tyler Dauwalder
0983fab3f8 Added iso99660 module
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2327 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-12-31 07:28:07 +00:00
Tyler Dauwalder
4267a32ec4 Initial working, but messy and incomplete, cd rom session disk scanner module
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2326 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-12-31 07:23:55 +00:00
Tyler Dauwalder
22aef14b93 Initial working iso9660 disk scanner fs module
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2325 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-12-31 07:22:12 +00:00
Ingo Weinhold
ad7f737efe Now a session_info is passed instead of individual parameters.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2301 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-12-25 15:17:23 +00:00
Ingo Weinhold
27563d0575 Adjusted to return a priority. Removed a line setting the mounted_at field.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2300 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-12-25 15:16:31 +00:00
Ingo Weinhold
457683e902 Pass a session_info to the partition functions and deal with FS add-on priorities.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2299 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-12-25 15:15:31 +00:00
Ingo Weinhold
bc2988951f Fixed the code iterating over module name lists. The buffer size must be set before each call.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2296 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-12-25 12:10:34 +00:00
Tyler Dauwalder
c10d0b6cdb Added BFS disk_scanner fs module to the build
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2287 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-12-22 22:51:07 +00:00
Tyler Dauwalder
6c1c5b652b + Updated PARTSCAN_MODULE_NAME to DISK_SCANNER_MODULE_NAME
+ Fixed an error with disk_scanner_get_partition_fs_info() that was causing
  the fs module to not be unloaded when identification succeeded. The next
  time around, get_module() was returning B_OK, by the module pointer was
  being set to NULL. I'm not sure if this is the expected behaviour of the
  emulator, so we may want to investigate.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2286 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-12-22 22:50:18 +00:00
Tyler Dauwalder
03d06845e6 disk_scanner fs module for BFS filesystems
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2285 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-12-22 22:47:17 +00:00
Ingo Weinhold
8d815e9eb0 Added empty Jamfiles in the fs and session subdirs.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2280 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-12-22 02:30:00 +00:00
Ingo Weinhold
1c10defbf6 Added disk_scanner to the build.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2278 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-12-21 19:16:19 +00:00
Ingo Weinhold
6ddccb275f Module for Intel (DOS) style partitions.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2275 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-12-21 19:09:45 +00:00
Ingo Weinhold
cc2c9ce95e disk_scanner module.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2274 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-12-21 19:08:53 +00:00
Axel Dörfler
89e64f44be Added more checks in the BPlusTree implementation if DEBUG is defined.
The correctness of max_number_of_levels is now checked in Find().
Added a class NodeChecker which checks the integrity of the specified node
when the object is destructed (via new method bplustree_node::CheckIntegrity());
now used in Remove() and Insert().


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2169 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-12-06 04:41:51 +00:00
Axel Dörfler
528a411973 Updated ToDo file.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2168 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-12-06 04:39:28 +00:00
Axel Dörfler
1d5f9787e8 Added a few comments and ToDo items.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2167 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-12-06 04:32:48 +00:00
Axel Dörfler
697df4613d Style clean-ups *and* Index::Update() now correctly converts B_MIME_STRING_TYPE
to B_STRING_TYPE for the lower layers - should probably find a better solution
to handle this.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2166 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-12-06 04:32:05 +00:00
Axel Dörfler
d3ca8eec8d The new block bitmap is now written using through the log for chkbfs.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2163 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-12-05 20:30:18 +00:00
Axel Dörfler
af9ba303e4 bfs_walk() now prints the file name if it couldn't locate a file with debug
output turned on.
bfs_open_dir() now accepts again all containers, because bfs_open_index_dir()
is using it, too (too bad when you forgot about your own code).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2122 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-11-29 20:03:49 +00:00
Axel Dörfler
006928f81b Fixed the bug in the query code: B_MIME_STRING_TYPE was not correctly
translated into B_STRING_TYPE for the key comparison (it was translated
but not saved under the new type).
compareKeys() will now return -1 if it didn't know the type to compare.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2121 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-11-29 19:22:52 +00:00
Axel Dörfler
c78d05895c Removed some debug output I accidently added to the repository.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2107 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-11-28 15:13:08 +00:00
Axel Dörfler
363999a1eb Thanks to Bruno, we fixed a bug in Inode::Create() that happened with newly
created files that already existed.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2098 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-11-27 22:40:04 +00:00
Axel Dörfler
98138634aa Added the private ioctl calls to get the 64-bit create and modified time.
Most probably these are used by the kernel to identify changes in a shared
library or something like this.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2088 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-11-25 23:51:03 +00:00
Axel Dörfler
cb0a9fe094 Fixed a stupid bug, used Inode::Name() without locking.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2087 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-11-25 23:30:54 +00:00
Axel Dörfler
2ad0108fbe Now uses Inode::GetName() and strlcpy().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2086 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-11-25 18:43:11 +00:00
Axel Dörfler
c0f2928e7d Now uses Inode::GetName() where appropriate.
Fixed a bigger race condition when matching against the name index.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2085 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-11-25 18:42:40 +00:00
Axel Dörfler
97d569f0de Now uses strlcpy() rather than strcpy() where appropriate.
The inode is now locked in bfs_close() (when the indices are updated).
Moved the special cases for INODE_NO_CACHE and INODE_CHKBFS_RUNNING into
bfs_free_cookie() - should probably do that with the index update as well.
Updated some comments.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2084 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-11-25 18:07:35 +00:00
Axel Dörfler
0606e6e197 Added a new method Inode::GetName() which safely copies the inode's name
to the provided buffer.
Inode::Name() no longer locks the small_data region anymore.
Added ASSERTs that the small_data region is locked for the methods requiring
that.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2083 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-11-25 17:38:19 +00:00
Axel Dörfler
d88937ace2 Added a SimpleLock.IsLocked() method.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2082 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-11-25 17:36:53 +00:00
Axel Dörfler
0f374ebc88 Added a strlcpy() call for usage in BeOS (OpenBeOS has it built-in already).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2081 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-11-25 17:35:21 +00:00
Axel Dörfler
d369893781 Removed the usage of Inode::Name() in the debug output.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2080 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-11-25 17:33:43 +00:00
Axel Dörfler
fea5713c6d Added a comment about live-queries in Inode::Create().
Some style cleanups.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2060 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-11-22 03:45:01 +00:00
Axel Dörfler
b5a0c65c19 Added support for aborted "chkbfs" runs (so that they won't do any harm).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2059 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-11-22 03:32:53 +00:00
Axel Dörfler
f512ce4233 Added a new inode flag INODE_CHKBFS_RUNNING to detect aborted chkbfs processes.
bfs_read_vnode() will now wait for half a second at maximum until it returns
the B_BUSY error (so that live queries will like it better).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2058 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-11-22 03:31:34 +00:00
Axel Dörfler
5254026ba2 Removed the logic for freeing the inode's space from bfs_remove_vnode(); now
instead calls Inode::Free().
If INODE_DONT_FREE_SPACE was set, bfs_remove_vnode() forgot to delete the
inode before returning B_OK.
bfs_read_vnode() will now return the exact error Inode::InitCheck() returned.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2056 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-11-21 20:45:52 +00:00
Axel Dörfler
11a8dbc63a Completely worked over the inode creation mechanism. Now more work is delegated
to the InodeAllocator class (initialization of the inode, tree creation for
containers).
The InodeAllocator class now frees all the space the inode occupies, including
the B+tree if it's a container (by calling the new Inode::Free() method).
Inode::Free() implementation (logic removed from bfs_remove_vnode()).
Now secures the inode from being loaded by setting the INODE_NOT_READY flag
(completely handled by the InodeAllocator class).
The inode is now removed from its parent if something went wrong after it
had been added.
Utilizes the new BPlusTree::Remove() method where appropriate.
Inode::GetAttribute() now checks if the inode opened is really an attribute.
Inode::InitCheck() now fails with B_BUSY if the INODE_NOT_READY flag is set.
InodeAllocator::Keep() now writes back the inode.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2055 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-11-21 20:42:44 +00:00
Axel Dörfler
9fec50f9db Added new Inode::Free() method which frees all space associated with an
inode.
Some style cleanups.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2054 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-11-21 20:34:04 +00:00
Axel Dörfler
8a3e35d8c3 AllocationBlock::Allocate() still had the 0xffff thing implemented, now
also the numBlocks parameter is ASSERTed - when compiled with DEBUG turned
off, BFS will enter the kernel debugger in this case (through the use of
the DIE() macro).
Same for AllocationBlock::Free() (but the 0xffff mode was already removed
there).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2053 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-11-21 20:32:54 +00:00
Axel Dörfler
98887c634e Symbolic link data streams (for long symlinks) now are located in the same
allocation group as the inode, if possible.
Moved the group used blocks info maintaining code into AllocationGroup::Allocate()
and AllocationGroup::Free() (instead of letting the BlockAllocator class do
the work).
Removed the buggy and useless extra 0xffff mode for AllocationBlock::Allocate()
and AllocationBlock::Free(), both methods now ASSERT their parameter range.
Changed some comments, style cleanups.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2052 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-11-21 20:27:57 +00:00
Axel Dörfler
def426bce2 Added a BPlusTree::Remove() inline method for strings.
Style cleanups.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2051 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-11-21 20:22:36 +00:00
Axel Dörfler
2edddca0dc Removed the unused INODE_EMPTY flag, and introduced a new INODE_NOT_READY
flag which is used during construction of an inode.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2050 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-11-21 20:21:28 +00:00