File: topology.h

package info (click to toggle)
xfsprogs 6.17.0-2
  • links: PTS
  • area: main
  • in suites: forky, sid
  • size: 11,324 kB
  • sloc: ansic: 167,334; sh: 4,604; makefile: 1,336; python: 835; cpp: 5
file content (49 lines) | stat: -rw-r--r-- 1,062 bytes parent folder | download
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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
// SPDX-License-Identifier: GPL-2.0
/*
 * Copyright (c) 2000-2005 Silicon Graphics, Inc.
 * All Rights Reserved.
 */

#ifndef __LIBXFS_TOPOLOGY_H__
#define __LIBXFS_TOPOLOGY_H__

/*
 * Device topology information.
 */
struct device_topology {
	int	logical_sector_size;	/* logical sector size */
	int	physical_sector_size;	/* physical sector size */
	int	sunit;			/* stripe unit */
	int	swidth;			/* stripe width  */
	int	awu_min;		/* min atomic write unit in bbcounts */
	int	awu_max;		/* max atomic write unit in bbcounts */
};

struct fs_topology {
	struct device_topology	data;
	struct device_topology	rt;
	struct device_topology	log;
};

void
get_topology(
	struct libxfs_init	*xi,
	struct fs_topology	*ft,
	int			force_overwrite);

extern void
calc_default_ag_geometry(
	int		blocklog,
	uint64_t	dblocks,
	int		multidisk,
	uint64_t	*agsize,
	uint64_t	*agcount);

void calc_default_rtgroup_geometry(int blocklog, uint64_t rblocks,
		uint64_t *rgsize, uint64_t *rgcount);

extern int
check_overwrite(
	const char	*device);

#endif	/* __LIBXFS_TOPOLOGY_H__ */