summaryrefslogtreecommitdiffstats
path: root/chrome/browser/fragmentation_checker_win.h
blob: 02f42314b36292d43a3b0aa702144034bf33e428 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
// Copyright (c) 2011 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef CHROME_BROWSER_FRAGMENTATION_CHECKER_WIN_H_
#define CHROME_BROWSER_FRAGMENTATION_CHECKER_WIN_H_
#pragma once

class FilePath;

namespace fragmentation_checker {

const int kMaxExtentCount = 1 << 16;

// Returns the number of extents for the file at |file_path|. The number is
// capped at kMaxExtentCount, files with more extents than that will be counted
// as having kMaxExtentCount extents. On failure, this function returns 0.
int CountFileExtents(const FilePath& file_path);

// Records fragmentation metrics for the current module. This records the number
// of fragments the current module is stored in.
// This will be used to determine whether pursuing more aggressive
// manual defragmentation is worth the effort.
void RecordFragmentationMetricForCurrentModule();

}  // namespace fragmentation_checker

#endif  // CHROME_BROWSER_FRAGMENTATION_CHECKER_WIN_H_