Tyler Dauwalder
a03a04e027
- Added/moved ddm string-length and buffer-size constants to DiskDeviceDefs.h
...
- Converted all uses of B_{FILE,OS}_NAME_LENGTH in ddm_userland_interface.cpp
to appropriate ddm constants.
- Made module names B_PATH_NAME_LENGTH long.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5181 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-28 00:13:11 +00:00
Tyler Dauwalder
937144690c
Made disk device type strings B_FILE_NAME_LENGTH long, and fixed
...
a few partition name constants that hadn't been changed from B_OS_NAME_LENGTH.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5179 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-27 22:45:15 +00:00
Tyler Dauwalder
e176a055ac
Added max parameter-string buffer-size limit of 32KB.
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5178 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-27 08:10:52 +00:00
Tyler Dauwalder
de5a94dbc6
- Updated partition name and partition content name length limits
...
to B_FILE_NAME_LENGTH.
- Added partition [content] name copy-out code to
_kern_validate_{set_partition_name,set_partition_content_name,
intialize_partition}.
- Added parameter security to _kern_supports_moving_partition().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5177 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-27 07:28:55 +00:00
Waldemar Kornewald
cdc2ad89b1
Changes for kernel land (added set_sem_owner and kernel_cpp.h/cpp).
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5161 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-25 13:24:59 +00:00
Tyler Dauwalder
229c00c5a7
- Added parametersSize param to all functions taking a parameter string.
...
- For functions where name strings are both input and output parameters that
may be truncated if too long, updated copy-in procedure to allow truncation
without returning an error.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5155 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-25 08:35:27 +00:00
Tyler Dauwalder
8768d15c6e
- Fixed lack of proper error code checking on calls
...
to user_strlcpy()
- Changed all remaining instances of SYS_MAX_PATH_LEN
to B_PATH_NAME_LENGTH.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5152 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-24 23:09:43 +00:00
Tyler Dauwalder
27b54f4499
Finished up most of remaining kernel-saftey stuff, and fixed previously "safe" code that accessed userland memory directly.
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5133 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-24 09:37:20 +00:00
Tyler Dauwalder
0d2558589a
Added platform specific boot headers to search path for libdisk_device_manager.so, as ddm_userland_interface.cpp apparently needs them now.
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5132 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-24 09:36:15 +00:00
Ingo Weinhold
283e146548
Aesthetical change.
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4871 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-29 21:45:22 +00:00
Ingo Weinhold
58b7de1cda
Implemented the resize job.
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4870 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-29 21:44:47 +00:00
Ingo Weinhold
b0814f61c3
Implemented Resize() and ResizeChild().
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4869 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-29 21:44:21 +00:00
Ingo Weinhold
77fe5e61a5
Another fix of the code that updates which partitions are still busy. Hopefully the last one.
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4868 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-29 21:43:59 +00:00
Ingo Weinhold
541c05cc85
We always resize the partition contents.
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4867 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-29 21:43:11 +00:00
Ingo Weinhold
3acc9a051b
Moved the validation functions out of ddm_userland_interface.cpp into ddm_operation_validation.{cpp,h} for re-use.
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4865 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-29 21:40:36 +00:00
Ingo Weinhold
6c27ff9492
Define some macros telling us, that we compile for R5 and userland.
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4852 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-29 18:47:10 +00:00
Ingo Weinhold
11ef678c43
We don't need to mark/unmark shadow partitions busy separately anymore, since they should automatically remain in sync with the physical ones.
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4850 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-28 22:06:54 +00:00
Ingo Weinhold
2998edc39b
Added KPartitionListener.
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4849 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-28 22:04:37 +00:00
Ingo Weinhold
58bdbab626
Added a KPartition listener mechanism and made use of it to keep shadow partitions with the corresponding physical ones in sync.
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4848 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-28 22:04:13 +00:00
Ingo Weinhold
373c8e3751
Implemented Do(). Looks like it works.
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4847 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-28 19:33:23 +00:00
Ingo Weinhold
0ee064b1fb
KPartition::UninitializeContents() returns an error code now.
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4846 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-28 19:31:49 +00:00
Ingo Weinhold
bce1e50726
Some fixes concerning job queue handling.
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4845 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-28 19:30:57 +00:00
Ingo Weinhold
70f0555bce
Debug output.
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4844 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-28 19:30:12 +00:00
Ingo Weinhold
583f8c1d02
Added set_disk_device_job_error_message() for setting an error message, when an error occurs while executing a job.
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4843 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-28 19:29:36 +00:00
Ingo Weinhold
ac8b60ce67
Added setter/getter for an error message. Should be set to something informative when while executing a job an error occurs.
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4842 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-28 19:28:27 +00:00
Ingo Weinhold
69cb08c01c
UninitializeContents() returns an error code now.
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4841 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-28 19:26:18 +00:00
Ingo Weinhold
ccb29adbec
Fixed (and documented) _kern_get_disk_device_data(). It is now properly relocating the disk device data.
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4840 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-28 15:16:42 +00:00
Ingo Weinhold
f3a589c2ce
Added support for relocation.
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4839 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-28 15:15:20 +00:00
Ingo Weinhold
752ad410c3
Made the disk device manager stuff compilable again. Doesn't link yet, since user_memcpy() and user_strlcpy() are still missing in kernelland_emu.cpp. Tyler?
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4834 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-28 00:43:40 +00:00
Ingo Weinhold
d3f24d18b6
Added missing return.
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4833 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-28 00:41:19 +00:00
Tyler Dauwalder
702b8e7ed9
Made first half of so of ddm syscalls kernel-safe.
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4830 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-27 05:19:37 +00:00
Tyler Dauwalder
2f0734d8ec
Included kernel headers in search path for ddm.
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4829 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-27 05:14:58 +00:00
Ingo Weinhold
bc2d9db133
Creates resize and uninitialize jobs now.
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4796 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-22 22:04:03 +00:00
Ingo Weinhold
6a2a273d12
Aesthetical changes.
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4793 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-22 21:46:48 +00:00
Ingo Weinhold
032e49d571
Partially implemented the class. Well, save the entirely unimportant Do() method, which prints only some debug output for now. ;-)
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4792 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-22 21:46:00 +00:00
Ingo Weinhold
f7779c94eb
Some important fields weren't cloned from the physical partition.
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4791 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-22 21:44:19 +00:00
Ingo Weinhold
aa915a05bd
Joined the methods generating the delete child and uninitialize jobs -- otherwise we'd delete children of partitions that are uninitialized. Fixed several small bugs.
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4790 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-22 21:43:13 +00:00
Ingo Weinhold
557cfcdb26
Carried out a incredibly complex TODO. :-)
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4785 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-21 21:28:30 +00:00
Ingo Weinhold
6e855f0317
Removed the resizeContents/force from the resize/move syscalls. Fixed resize/move related bugs (partition was not check for status uninitialized).
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4783 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-21 21:26:12 +00:00
Ingo Weinhold
dafaf4c360
Added IsUninitialized() convenience method.
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4781 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-21 21:21:10 +00:00
Ingo Weinhold
50e3477b70
Added KUninitializeJob. Does nothing but printing debug output for now.
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4780 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-21 21:20:27 +00:00
Ingo Weinhold
20c33ce79b
Added syscall for uninitialization.
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4778 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-21 19:13:54 +00:00
Ingo Weinhold
5c699c6735
Add a field mount_cookie to the partition_data structure and
...
respective setter/getter methods to the KPartition class.
If a partition is mounted, the field will contain the cookie the
FS's mount() hook passed back to the VFS. This way the FS has
access to its internal data structures. We need the cooperation
of the VFS to get the cookie.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4776 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-21 18:25:42 +00:00
Axel Dörfler
20743a3a67
KPartition::Dump() now also writes its size in MB for convenience (makes it
...
easier to check if the partitioning_system returns the correct size :-)).
Uses %f which doesn't work in the BeOS kernel (but might in OpenBeOS).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4445 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-02 04:06:01 +00:00
Ingo Weinhold
8d91b8087d
Improved the interaction between job queue and manager. Partitions should now be mark busy correctly.
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4223 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-08-03 18:39:12 +00:00
Ingo Weinhold
13ab290504
Fixed a potential memory leak. If any operation prior to the addition of the job queue to the manager failed, it wouldn't be deleted. Now the job generator deletes it by default and must be told via DetachJobQueue() to not do that.
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4222 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-08-03 18:37:21 +00:00
Ingo Weinhold
cc6edbdf8f
* Added VisitEachDescendant().
...
* Added {Add,Clear}Flags() which are more comfortable than SetFlags() in
most cases.
* On construction the `busy' and `descendant busy' flags are set.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4220 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-08-03 18:27:33 +00:00
Ingo Weinhold
7e4c7d4350
Added KPartitionVisitor class used for advanced partition tree traversal.
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4219 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-08-03 18:23:53 +00:00
Ingo Weinhold
572b5b77d3
Implemented _kern_commit_disk_device_modifications() (save the notification related part).
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4186 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-08-02 00:01:37 +00:00
Ingo Weinhold
af314d827a
Implementing generation of remaining jobs.
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4185 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-08-02 00:00:49 +00:00