From 69cb08c01ce7cb6e47fbfde355ae5c29cd45ba47 Mon Sep 17 00:00:00 2001 From: Ingo Weinhold Date: Sun, 28 Sep 2003 19:26:18 +0000 Subject: [PATCH] UninitializeContents() returns an error code now. git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4841 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- headers/private/kernel/disk_device_manager/KPartition.h | 2 +- src/kernel/core/disk_device_manager/KPartition.cpp | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/headers/private/kernel/disk_device_manager/KPartition.h b/headers/private/kernel/disk_device_manager/KPartition.h index 45dd8d6ca3..ac73d102eb 100644 --- a/headers/private/kernel/disk_device_manager/KPartition.h +++ b/headers/private/kernel/disk_device_manager/KPartition.h @@ -170,7 +170,7 @@ public: void SetChangeFlags(uint32 flags); uint32 ChangeFlags() const; int32 ChangeCounter() const; - void UninitializeContents(bool logChanges = true); + status_t UninitializeContents(bool logChanges = true); void SetAlgorithmData(uint32 data); uint32 AlgorithmData() const; diff --git a/src/kernel/core/disk_device_manager/KPartition.cpp b/src/kernel/core/disk_device_manager/KPartition.cpp index b3c8865948..c7f82091d1 100644 --- a/src/kernel/core/disk_device_manager/KPartition.cpp +++ b/src/kernel/core/disk_device_manager/KPartition.cpp @@ -834,7 +834,7 @@ KPartition::ChangeCounter() const } // UninitializeContents -void +status_t KPartition::UninitializeContents(bool logChanges) { if (DiskSystem()) { @@ -844,7 +844,8 @@ KPartition::UninitializeContents(bool logChanges) | B_PARTITION_CHANGED_FLAGS; // children if (CountChildren() > 0) { - RemoveAllChildren(); + if (!RemoveAllChildren()) + return B_ERROR; flags |= B_PARTITION_CHANGED_CHILDREN; } // volume @@ -890,6 +891,7 @@ KPartition::UninitializeContents(bool logChanges) | B_PARTITION_CHANGED_REPAIR); } } + return B_OK; } // SetAlgorithmData