1/*
2 * Copyright 2007, Ingo Weinhold, ingo_weinhold@gmx.de.
3 * Distributed under the terms of the MIT License.
4 */
5
6#include "DefragmentJob.h"
7
8#include <syscalls.h>
9
10#include "PartitionReference.h"
11
12
13// constructor
14DefragmentJob::DefragmentJob(PartitionReference* partition)
15	: DiskDeviceJob(partition)
16{
17}
18
19
20// destructor
21DefragmentJob::~DefragmentJob()
22{
23}
24
25
26// Do
27status_t
28DefragmentJob::Do()
29{
30	int32 changeCounter = fPartition->ChangeCounter();
31	status_t error = _kern_defragment_partition(fPartition->PartitionID(),
32		&changeCounter);
33	if (error != B_OK)
34		return error;
35
36	fPartition->SetChangeCounter(changeCounter);
37
38	return B_OK;
39}
40
41