2 * Copyright (C) 2007 Oracle. All rights reserved.
4 * This program is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU General Public
6 * License v2 as published by the Free Software Foundation.
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11 * General Public License for more details.
13 * You should have received a copy of the GNU General Public
14 * License along with this program; if not, write to the
15 * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
16 * Boston, MA 021110-1307, USA.
22 #define BTRFS_MKFS_SYSTEM_GROUP_SIZE (4 * 1024 * 1024)
24 int make_btrfs(int fd
, const char *device
, const char *label
,
25 u64 blocks
[6], u64 num_bytes
, u32 nodesize
,
26 u32 leafsize
, u32 sectorsize
, u32 stripesize
);
27 int btrfs_make_root_dir(struct btrfs_trans_handle
*trans
,
28 struct btrfs_root
*root
, u64 objectid
);
29 int btrfs_prepare_device(int fd
, char *file
, int zero_end
, u64
*block_count_ret
,
30 u64 max_block_count
, int *mixed
, int nodiscard
);
31 int btrfs_add_to_fsid(struct btrfs_trans_handle
*trans
,
32 struct btrfs_root
*root
, int fd
, char *path
,
33 u64 block_count
, u32 io_width
, u32 io_align
,
35 int btrfs_scan_for_fsid(struct btrfs_fs_devices
*fs_devices
, u64 total_devs
,
37 void btrfs_register_one_device(char *fname
);
38 int btrfs_scan_one_dir(char *dirname
, int run_ioctl
);
39 int check_mounted(const char *devicename
);
40 int check_mounted_where(int fd
, const char *file
, char *where
, int size
,
41 struct btrfs_fs_devices
**fs_devices_mnt
);
42 int btrfs_device_already_in_root(struct btrfs_root
*root
, int fd
,
44 char *pretty_sizes(u64 size
);
45 int check_label(char *input
);
46 int get_mountpt(char *dev
, char *mntpt
, size_t size
);
48 int btrfs_scan_block_devices(int run_ioctl
);
50 u64
parse_size(char *s
);